Y-a-t il un moyen, quand on patauge dans des url transformée grace à
mod_rewrite de voir, au bout du compte, quelle est l'url réelle à
laquelle on accède...
par exemple :
RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\.eexample\.fr [NC]
RewriteRule (.*) http://www.example.fr/$1 [QSA,R=301,L]
# récupération erreur 404
ErrorDocument 404 /erreur-404.html
# Convertion directe des pages atttendues en lien
RewriteRule ^page-1.html$ index.php?pg=page-1 [L]
RewriteRule ^page-2.html$ index.php?pg=page-2 [L]
RewriteRule ^erreur-404.html$ index.php?pg=erreur-404 [L]
# et pour les url inatendues :
RewriteRule ^([^/]+).html$ index.php?pg=erreur-404&req=$1 [L]
en envoyant tralala comme url ça arrive à l'erreur apache malgré le
errordocument et avec tralala.html j'arrive à la bonne page erreur mais
l'url affichée dans la barre est tralala.html et la variable req ne
reçoit rien...
Il manque le drapeau QSA, donc [L,QSA] plutôt que [L] tout court.
-- Patrick Mevzek . . . . . . . . . . . . . . Dot and Co <http://www.dotandco.net/> <http://www.dotandco.com/>
B.M.
VarioFlux a écrit :
Hello
Y-a-t il un moyen, quand on patauge dans des url transformée grace à mod_rewrite de voir, au bout du compte, quelle est l'url réelle à laquelle on accède...
par exemple :
RewriteEngine on RewriteCond %{HTTP_HOST} !^www.eexample.fr [NC] RewriteRule (.*) http://www.example.fr/$1 [QSA,R01,L] # récupération erreur 404 ErrorDocument 404 /erreur-404.html # Convertion directe des pages atttendues en lien RewriteRule ^page-1.html$ index.php?pg=page-1 [L] RewriteRule ^page-2.html$ index.php?pg=page-2 [L] RewriteRule ^erreur-404.html$ index.php?pg=erreur-404 [L] # et pour les url inatendues : RewriteRule ^([^/]+).html$ index.php?pg=erreur-404&req=$1 [L]
en envoyant tralala comme url ça arrive à l'erreur apache malgré le errordocument et avec tralala.html j'arrive à la bonne page erreur mais l'url affichée dans la barre est tralala.html et la variable req ne reçoit rien...
need help, j'y comprend plus rien !
Pour comprendre ce qui se passe on peut activer l'enregistrement des logs du mode rewrite en ajoutant ces deux lignes au fichier httpd.conf d'apache: RewriteLog "logs/rewrite.log" RewriteLogLevel 3
Mais attention, le fichier grossit vite !
-- B. M.
VarioFlux a écrit :
Hello
Y-a-t il un moyen, quand on patauge dans des url transformée grace à
mod_rewrite de voir, au bout du compte, quelle est l'url réelle à
laquelle on accède...
par exemple :
RewriteEngine on
RewriteCond %{HTTP_HOST} !^www.eexample.fr [NC]
RewriteRule (.*) http://www.example.fr/$1 [QSA,R01,L]
# récupération erreur 404
ErrorDocument 404 /erreur-404.html
# Convertion directe des pages atttendues en lien
RewriteRule ^page-1.html$ index.php?pg=page-1 [L]
RewriteRule ^page-2.html$ index.php?pg=page-2 [L]
RewriteRule ^erreur-404.html$ index.php?pg=erreur-404 [L]
# et pour les url inatendues :
RewriteRule ^([^/]+).html$ index.php?pg=erreur-404&req=$1 [L]
en envoyant tralala comme url ça arrive à l'erreur apache malgré le
errordocument et avec tralala.html j'arrive à la bonne page erreur mais
l'url affichée dans la barre est tralala.html et la variable req ne
reçoit rien...
need help, j'y comprend plus rien !
Pour comprendre ce qui se passe on peut activer l'enregistrement des
logs du mode rewrite en ajoutant ces deux lignes au fichier httpd.conf
d'apache:
RewriteLog "logs/rewrite.log"
RewriteLogLevel 3
Y-a-t il un moyen, quand on patauge dans des url transformée grace à mod_rewrite de voir, au bout du compte, quelle est l'url réelle à laquelle on accède...
par exemple :
RewriteEngine on RewriteCond %{HTTP_HOST} !^www.eexample.fr [NC] RewriteRule (.*) http://www.example.fr/$1 [QSA,R01,L] # récupération erreur 404 ErrorDocument 404 /erreur-404.html # Convertion directe des pages atttendues en lien RewriteRule ^page-1.html$ index.php?pg=page-1 [L] RewriteRule ^page-2.html$ index.php?pg=page-2 [L] RewriteRule ^erreur-404.html$ index.php?pg=erreur-404 [L] # et pour les url inatendues : RewriteRule ^([^/]+).html$ index.php?pg=erreur-404&req=$1 [L]
en envoyant tralala comme url ça arrive à l'erreur apache malgré le errordocument et avec tralala.html j'arrive à la bonne page erreur mais l'url affichée dans la barre est tralala.html et la variable req ne reçoit rien...
need help, j'y comprend plus rien !
Pour comprendre ce qui se passe on peut activer l'enregistrement des logs du mode rewrite en ajoutant ces deux lignes au fichier httpd.conf d'apache: RewriteLog "logs/rewrite.log" RewriteLogLevel 3