probleme de redirection d'url avec les rewriterule

Le
petit fabien
--_9a51b8b3-466d-4ab5-ae2e-63cd2d30169b_
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable


Bonjour, j'ai le probleme suivant, google a rfrenc la page d'accue=
il de mon site sous la forme http://www.monserveur.com/?cd=menu. Je voudr=
ais qu'elle soit rfrence en http://www.monserveur.com/ tout simple=
ment. J'ai un serveur zope derriere un apache2 avec les rewriterule suivant=
es qui marchent trsbien:#pour awstatsRewriteRule ^/cgi-bin/awstats(.*) /=
cgi-bin/awstats$1 [L,PT]#pour le virtual monsterRewriteRule ^/(.*) http://=
localhost:9673/VirtualHostBase/http/%{SERVER_NAME}:80/VirtualHostRoot/$1 [L=
,P] Je pense que apache a trouv le lien "?cd=menu" dans un fichier ind=
ex2.php qui trainait dans /var/www/, c'est pour cela je crois qu'il me l'a =
rfrenc avec a.Le probleme est que je peux taper n'importe quoi =
de la forme http://www.monserveur.com/?x=fdsfsdffsdfggg (par exemple), je=
tombe sur ma page d'acceuil et l'url reste comme a alors qu'elle devrai=
t etre de la forme http://www.monserveur.com/. Je tiens prciser que =
les liens sur ma page d'acueil marchent bien. J'ai donc essay plusieurs =
rewriterule qui redirige par exemple http://www.monserveur.com/?z=iitirri=
icirczc vers http://www.mon.serveur.com/ mais sans succs, voila ce que j=
'ai essay : RewriteRule ^/?.* http://localhost:9673/VirtualHostBase/ht=
tp/%{SERVER_NAME}:80/VirtualHostRoot/ [L,P] RewriteRule ^/?(.*) http://lo=
calhost:9673/VirtualHostBase/http/%{SERVER_NAME}:80/VirtualHostRoot/$1 [L,P=
] #RewriteRule ^/?.* http://localhost:9673/VirtualHostBase/http/%{SERVER_N=
AME}:80/VirtualHostRoot/ [L,P] Si quequ'un pouvait m'aiguiller, a serai=
t sympa parce que l, je vois vraiment pas comment je dois faire pour red=
iriger ces url ou alors les interdire le cas chant. merci d'avance. =

_________________________________________________________________
Besoin d'un e-mail ? Crez gratuitement un compte Windows Live Hotmail, p=
lus sr, plus simple et plus complet !
http://www.windowslive.fr/hotmail/default.asp=

--_9a51b8b3-466d-4ab5-ae2e-63cd2d30169b_
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<html>
<head>
<style>
P
{
margin:0px;
padding:0px
}
body
{
FONT-SIZE: 10pt;
FONT-FAMILY:Tahoma
}
</style>
</head>
<body>
Bonjour,<BR>&nbsp;<BR>j'ai le probleme suivant, google a rfrenc la=
page d'accueil de mon site sous <BR>la forme <A href="http://www.monserv=
eur.com/?cd=menu">http://www.monserveur.com/?cd=menu</A>. Je voudrais q=
u'elle soit <BR>rfrence en <A href="http://www.monserveur.com/">=
http://www.monserveur.com/</A> tout simplement. J'ai un <BR>serveur zope de=
rriere un apache2 avec les rewriterule suivantes qui marchent trs<BR>bie=
n:<BR>#pour awstats<BR>RewriteRule ^/cgi-bin/awstats(.*) /cgi-bin/awstats$1=
[L,PT]<BR>#pour le virtual monster<BR>RewriteRule ^/(.*)&nbsp; <A href="=
http://localhost:9673/VirtualHostBase/http/%{SERVER_NAME}:80/VirtualHostRoo=
t/$1">http://localhost:9673/VirtualHostBase/http/%{SERVER_NAME}:80/VirtualH=
ostRoot/$1</A> [L,P]<BR>&nbsp;<BR>Je pense que apache a trouv le lien "?=
cd=menu" dans un fichier index2.php qui trainait dans /var/www/, c'est po=
ur cela je crois qu'il me l'a rfrenc avec a.<BR>Le probleme est=
que je peux taper n'importe quoi de la forme <A href="http://www.monserv=
eur.com/?x=fdsfsdffsdfggg">http://www.monserveur.com/?x=fdsfsdffsdfggg<=
/A> (par exemple), je tombe sur ma page d'acceuil et l'url reste comme a=
<BR>alors qu'elle devrait etre de la forme <A href="http://www.monserveu=
r.com/">http://www.monserveur.com/</A>. Je tiens prciser <BR>que les=
liens sur ma page d'acueil&nbsp;marchent bien.<BR>&nbsp;<BR>J'ai donc essa=
y plusieurs rewriterule qui redirige par exemple&nbsp;<A href="http://=
www.monserveur.com/?z=iitirriicirczc vers">http://www.monserveur.com/?z=
=iitirriicirczc vers</A> <A href="http://www.mon.serveur.com/">http://w=
ww.mon.serveur.com/</A> mais sans succs, voila ce que j'ai essay :<BR=
>&nbsp;<BR>RewriteRule ^/?.*&nbsp; <A href="http://localhost:9673/Virtua=
lHostBase/http/%{SERVER_NAME}:80/VirtualHostRoot/">http://localhost:9673/Vi=
rtualHostBase/http/%{SERVER_NAME}:80/VirtualHostRoot/</A> [L,P]<BR>&nbsp;<B=
R>RewriteRule ^/?(.*)&nbsp; <A href="http://localhost:9673/VirtualHostBa=
se/http/%{SERVER_NAME}:80/VirtualHostRoot/$1">http://localhost:9673/Virtual=
HostBase/http/%{SERVER_NAME}:80/VirtualHostRoot/$1</A> [L,P]<BR>&nbsp;<BR>#=
RewriteRule ^/?.*&nbsp; <A href="http://localhost:9673/VirtualHostBase/ht=
tp/%{SERVER_NAME}:80/VirtualHostRoot/">http://localhost:9673/VirtualHostBas=
e/http/%{SERVER_NAME}:80/VirtualHostRoot/</A> &nbsp;[L,P]<BR>&nbsp;<BR>Si q=
uequ'un pouvait m'aiguiller, a serait sympa parce que l, je vois vrai=
ment pas comment <BR>je dois faire pour rediriger ces url ou alors les inte=
rdire le cas chant.<BR>&nbsp;<BR>merci d'avance.<BR>&nbsp;<BR>&nbsp;<=
BR>&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>&n=
bsp;<BR>&nbsp;<BR>&nbsp;<BR><BR><br /><hr />Besoin d'un e-mail ? Crez gr=
atuitement un compte Windows Live Hotmail et bnficiez d'un filtre ant=
ivirus gratuit ! <a href='http://www.windowslive.fr/hotmail/default.asp' =
target='_new'>Windows Live Hotmail</a></body>
</html>=

--_9a51b8b3-466d-4ab5-ae2e-63cd2d30169b_--


--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to debian-user-french-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Jean-Damien Durand
Le #9578551
On Sunday 15 July 2007 03:30:13 petit fabien wrote:
Le probleme est que je peux taper n'importe quoi de
la forme http://www.monserveur.com/?xsfsdffsdfggg (par exemple), je
tombe sur ma page d'acceuil et l'url reste comme ça alors qu'elle devra it
etre de la forme http://www.monserveur.com/.



Si quequ'un pouvait m'aiguiller, ça serait sympa parce que là, je
vois vraiment pas comment je dois faire pour rediriger ces url ou alors l es
interdire le cas échéant. merci d'avance.



La partie 'query' d'une URL n'est pas prise en compte par mod_rewrite sauf si
tu la spécifie dans un rewritecond puis avec un ? dans un rewriterule.
Tu peux t'inspirer de ceci:

RewriteEngine On
RewriteCond %{QUERY_STRING} .
RewriteRule ^.*$ ? [R01,L]
</IfModule>

qui va complètement enlever la partie query_string de l'URL et faire un
permanent redirect (important pour les robots).

PS: ton mail original, je l'ai recu sous la forme d'une seule très longue
ligne sans newline (!?).

PPS: d'autre directives, comme DirectoryIndex, peuvent affecter l'url de
base '/', après le rewrite.
Publicité
Poster une réponse
Anonyme