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 référencé la page d'accue=
il de mon site sous la forme http://www.monserveur.com/?cd=menu. Je voudr=
ais qu'elle soit référencée en http://www.monserveur.com/ tout simple=
ment. J'ai un serveur zope derriere un apache2 avec les rewriterule suivant=
es qui marchent trèsbien:#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 =
référencé 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 à préciser 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 succès, 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 échéant. merci d'avance. =

_________________________________________________________________
Besoin d'un e-mail ? Créez gratuitement un compte Windows Live Hotmail, p=
lus sûr, 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 référencé 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>référencée 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 très<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 référencé 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 à préciser <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 succès, 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 échéant.<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 ? Créez gr=
atuitement un compte Windows Live Hotmail et bénéficiez 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
Vidéos High-Tech et Jeu Vidéo
Téléchargements
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/?xýsfsdffsdfggg (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