yuston Posté 14 Août 2005 Posté 14 Août 2005 Bonjour, je souhaite appliquer une url rewriting de cette manière: index.php?qry=var en recherche-var.html "var" peut valoir n'importe quel caractère, donc, alphanumérique mais aussi les caractères spéciaux, tels que les lettres accentuées ou des espaces ou des tirets ou encore des underscores.... Pour faire simple, j'ai voulu tester juste avec des lettres, j'ai donc ceci: RewriteRule ^recherche-([a-z]+).html$ index.php?qry=$1 [NC, L] A ma grande surprise, ca ne marche déjà pas comme il faut,.... Dans l'url, je mets: www.example.com/recherche-var.html ca me donne une erreur 404, et quand je mets: www.example.com/index-var.html c'est correct, voilà.... Donc si vous avez une solution pour eviter ce premier problème, je suis preneur, et mieux encore, si vous avez ce que je recherche, je suis également preneur... lol Merci d'avance!
Dan Posté 14 Août 2005 Posté 14 Août 2005 Bonjour, Pour que index-var.html te donne un résultat et non une page 404, c'est que tu dois avoir une règle sur cette URL. La règle que tu cites n'a aucune action sur cette URL, donc il doit s'agir d'une autre. De plus, pour tester il faut éviter de mettre des ^ en début de chaîne, parce qu'il est fort possible qu'un / soit transmis avant le nom de fichier. Ce n'est que quand cela marche "en général" qu'on peut resserrer les règles, pas avant. Essaie avec: RewriteRule recherche-(.+)\.html index.php?qry=$1 [NC, L] Dan
yuston Posté 14 Août 2005 Auteur Posté 14 Août 2005 Bonsoir, en essayant votre code, il me donne une erreur 500. Je sais que vous vous dites dans ce cas que le mod_rewrite d'Apache ne doit pas être activé, or, je suis sûr et certain qu'il l'est... Donc si vous avez d'autres suggestions, je veux bien volontiers les tester Bonne soirée!
Dan Posté 14 Août 2005 Posté 14 Août 2005 Avec un "RewriteEngine On" avant la règle bien sûr :!: Parce que rien dans cette règle ne peut générer d'erreur 500 ... sauf si mod_rewrite n'est pas actif ou qu'on oublie cette ligne
yuston Posté 14 Août 2005 Auteur Posté 14 Août 2005 Voila donc mon code au gran complet: Options +FollowSymlinksRewriteEngine onRewriteCond %{HTTP_HOST} ^monsite.com$RewriteRule ^(.*) http://www.monsite.com/$1 [QSA,L,R=301]RewriteRule recherche-(.+)\.html index.php?qry=$1 [NC, L] Donc je ne vois pas trop pourquoi.... Merci de la réponse rapide
Dan Posté 14 Août 2005 Posté 14 Août 2005 As-tu essayé en enlevant l' "Options +FollowSymlinks" ? Je ne connais pas ton hébergeur et ne sais pas si c'est supporté.
yuston Posté 14 Août 2005 Auteur Posté 14 Août 2005 Oui j'ai déjà testé avec et sans, le résultat reste inchangé: Erreur 500 En principe mon hébergeur le supporte, d'ailleurs, comme j'ai dit plus haut, j'ai réussi à le faire fonctionner partiellement. De plus, obliger le www. marche également parfaitement.
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant