9clicx Posté 7 Juin 2005 Posté 7 Juin 2005 Salut à tous, J'essaie de mettre en place de l'URL Rewriting sur mon site. Voici une copie de mon .htaccess : RewriteEngine on RewriteRule main(-.+)-([^-]+)-([^-&]*)([^-]*)\.html main$1&$2=$3$4\.html [N] RewriteRule main-([^-]+)-([^-]*)(.*)\.html main.php?$1=$2$3 [L] RewriteRule ^(.*).html $1.php [L] Et j'envoie donc ce genre d'URL : http://127.0.0.1/monsite.com/videos/main-p...deos-cat-1.html Malheureusement, j'ai une erreur 400, et je ne comprends pas pourquoi. Voici la log du rewrite: 127.0.0.1 - - [07/Jun/2005:09:03:30 +0200] [127.0.0.1/sid#845918][rid#38b81a8/initial] (3) [per-dir d:/mes documents/01-perso/weblocal/monsite.com/public/www/videos/] applying pattern 'main(-.+)-([^-]+)-([^-&]*)([^-]*)\.html' to uri 'd:/mes documents/01-perso/weblocal/monsite.com/public/www//videos/main-page-videos-cat-1.html' 127.0.0.1 - - [07/Jun/2005:09:03:30 +0200] [127.0.0.1/sid#845918][rid#38b81a8/initial] (2) [per-dir d:/mes documents/01-perso/weblocal/monsite.com/public/www/videos/] rewrite d:/mes documents/01-perso/weblocal/monsite.com/public/www//videos/main-page-videos-cat-1.html -> main-page-videos&cat=1.html 127.0.0.1 - - [07/Jun/2005:09:03:30 +0200] [127.0.0.1/sid#845918][rid#38b81a8/initial] (3) [per-dir d:/mes documents/01-perso/weblocal/monsite.com/public/www/videos/] applying pattern 'main(-.+)-([^-]+)-([^-&]*)([^-]*)\.html' to uri 'main-page-videos&cat=1.html' 127.0.0.1 - - [07/Jun/2005:09:03:30 +0200] [127.0.0.1/sid#845918][rid#38b81a8/initial] (3) [per-dir d:/mes documents/01-perso/weblocal/monsite.com/public/www/videos/] applying pattern 'main-([^-]+)-([^-]*)(.*)\.html' to uri 'main-page-videos&cat=1.html' 127.0.0.1 - - [07/Jun/2005:09:03:30 +0200] [127.0.0.1/sid#845918][rid#38b81a8/initial] (2) [per-dir d:/mes documents/01-perso/weblocal/monsite.com/public/www/videos/] rewrite main-page-videos&cat=1.html -> main.php?page=videos&cat=1 127.0.0.1 - - [07/Jun/2005:09:03:30 +0200] [127.0.0.1/sid#845918][rid#38b81a8/initial] (3) split uri=main.php?page=videos&cat=1-> uri=main.php, args=page=videos&cat=1 Si quelqu'un saurais dépatouiller mon pbm, ça m'enleverais une grosse epine du pied.... A+
Dan Posté 7 Juin 2005 Posté 7 Juin 2005 Je cherche à comprendre à quoi peut bien te servir la règle suivante: RewriteRule ^(.*).html $1.php [L] Pour faire de la réécriture récursive, tu as un article sur le Hub: La réécriture d'URLs récursive Dan
9clicx Posté 7 Juin 2005 Auteur Posté 7 Juin 2005 Effectivement, cette ligne ne sert à rien mais meme sans, ça ne fonctionne pas mieux... Alex
Dan Posté 7 Juin 2005 Posté 7 Juin 2005 Je vois que tu as pris les règles qui sont mentionnées dans l'article. RewriteEngine onRewriteRule index(-.+)-([^-]+)-([^-&]*)([^-]*)\.html index$1&$2=$3$4\.html [N]RewriteRule index-([^-]+)-([^-]*)(.*)\.html index.php?$1=$2$3 [L] Elles fonctionnent bien. Tu tournes quoi en local ? EasyPhp ?
9clicx Posté 7 Juin 2005 Auteur Posté 7 Juin 2005 oui, effectivement, je vais pas ré-inventer la poudre, y'a plein de gens bien meilleurs que moi... ;-) Par contre, effectivement, je suis sous easyphp, en local... A+
Dan Posté 7 Juin 2005 Posté 7 Juin 2005 Quelle version d'EasyPhp/Apache tournes-tu ? Parce que la version EasyPhp 1.6 est fournie si je ne m'abuse avec une version Apache buggée pour le rewrite sous Windows. Il faut au moins une version Apache 1.3.27 pour que ce bug dans rewrite.c disparaisse.
9clicx Posté 7 Juin 2005 Auteur Posté 7 Juin 2005 je cherche depuis tout à l'heure ou je peux trouver la version.... bon, ok, c'est easyphp 1.7 (je crois) et apache 1.3.27 (sauf que phpinfo me donne 1.3.24???) Je comprends rien...
9clicx Posté 8 Juin 2005 Auteur Posté 8 Juin 2005 Bonjour, J'ai installé easyphp 1.8 hier soir, et ça ne fonctionne pas mieux..... Une idée? A+
Dan Posté 8 Juin 2005 Posté 8 Juin 2005 Quand je regarde la dernière ligne du log, elle me semble correcte vu que tu as les bons arguments. 127.0.0.1 - - [07/Jun/2005:09:03:30 +0200] [127.0.0.1/sid#845918][rid#38b81a8/initial] (3) split uri=main.php?page=videos&cat=1-> uri=main.php, args=page=videos&cat=1 Qu'as-tu après cette ligne ? Et qu'as-tu dans le log Apache ?
9clicx Posté 8 Juin 2005 Auteur Posté 8 Juin 2005 J'ai rien du tout apres cette ligne dans le rewrite.log et dans le acces.log j'ai : 127.0.0.1 - - [08/Jun/2005:09:37:24 +0200] "GET /monsite.com/videos/main-page-videos-cat-1.html HTTP/1.1" 400 330
Dan Posté 8 Juin 2005 Posté 8 Juin 2005 C'est ce qu'il me semblait. Tu dois avoir un problème au niveau de EasyPhp. As-tu essayé autre chose, par exemple Wampserver ? http://www.wampserver.com
9clicx Posté 9 Juin 2005 Auteur Posté 9 Juin 2005 Bon, ben je viens d'essayer avec wamp, et c'est pareil.... ça marche pas mieux : Bad Request !!!
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant