Bonjour tout le monde, j'ai configuré un .htaccess pour faire un url-rewriting des pages dynamiques en pages html. La redirection marche niquel, par contre si l'on clique sur par exemple index-1.html, cela effectue bien la redirection vers index.php?url=1 mais l'url affichée après cela est.. index.php?url=1 ! J'ai regardé les posts du forum traitant de ce problème et cela viendrait apparemment des règles de redirection. J'ai regardé mon .htaccess mais je n'arrive pas à trouver l'erreur. Vous pouvez m'aider s'il vous plaît? Merci d'avance! Code: Options +FollowSymlinks RewriteEngine on #-------------------------------------------------- # Règles de réécriture d'URL : RedirectPermanent http://zeldasecrets.phpnet.org/blog/ http://www.max33blog.com RewriteRule ^article-([0-9]+)\.html$ http://www.max33blog.com/blog_news.php?idnews=$1 [R=301,L] RewriteRule ^([a-z]+).html http://www.max33blog.com/index.php?url=$1 [R=301,L] RewriteRule ^archive-([0-9]+)-p([0-9]+).html http://www.max33blog.com/archives_n$1.php?page=$2 [R=301,L] RewriteRule ^archives-p([0-9]+).html http://www.max33blog.com/archives_n.php?page=$1 [R=301,L]
Enlève R=301 partout. C'est ça qui fait que l'adresse est redirigée. Ce que tu veux c'est que l'URL soit réécrite, mais de façon invisible pour les visiteurs. R=301 rend la réécriture visible.
Merci de la réponse C'est ce que je viens d'essayer, mais en enlevant R=301 cela provoque une redirection en 302 et non plus en 301. Et même sans les R=301, le problème reste le même... Note: donc, le RedirectPermanantly n'a pas l'air de servir à grand chose... :?
Ce .htaccess est à la racine de quel site? J'ai un gros doute tout d'un coup. Si tu veux rediriger un site vers un autre, tu met un .htaccess à la racine du premier site. Par exemple, à la racine de -http://zeldasecrets.phpnet.org/ tu mets : Code: Options +FollowSymlinks RewriteEngine on #-------------------------------------------------- # Règles de réécriture d'URL : RedirectPermanent /blog/ http://www.max33blog.com/ Ensuite, à la racine de -http://www.max33blog.com/ tu met un autre .htaccess : Code: Options +FollowSymlinks RewriteEngine on #-------------------------------------------------- # Règles de réécriture d'URL : RewriteRule ^article-([0-9]+)\.html$ /blog_news.php?idnews=$1 [L] RewriteRule ^([a-z]+).html /index.php?url=$1 [L] RewriteRule ^archive-([0-9]+)-p([0-9]+).html /archives_n$1.php?page=$2 [L] RewriteRule ^archives-p([0-9]+).html /archives_n.php?page=$1 [L] Enfin, si j'ai bien compris ton besoin.
Pour moi la grande différence entre ré-écriture et redirection c'est le "http://" dans les adresses cibles. Avec, ça fait un redirection (avec changement d'adresse dans la barre du navigateur). Sans, ça fait une ré-écriture interne invisible de l'extérieur. Enfin, c'est ce que j'avais cru comprendre. Mais j'ai jamais lu ça nul part.
Super Vap, j'ai essayé ta méthode et ça marche niquel, tout en restant dans une redirection permanente en 301. Merci beaucoup!
Ah, tant mieux, je n'étais pas sûr d'avoir bien compris ton problème. Au passage, le premier .htaccess peut être simplifié (pas besoin de RewriteEngine). Il suffit de mettre: Code: RedirectPermanent /blog/ http://www.max33blog.com/ Enfin je crois.