Aller au contenu

Sujets conseillés

Posté (modifié)

Options +FollowSymlinks
RewriteEngine on
RewriteRule ^(fr|de|en|es)/(.*)$ http://www.monsite.com/$2?l=$1 [NC,QSA]

RewriteEngine on
RewriteRule ^(fr|de|en|es)/espece/([^_/]*)_([^_/]*)/$ /page.php?l=$1&g=$2&s=$3

Voila donc dans un premier temps si j'ai un /fr/ dans l'url, j'ai envie d'ajouter sans qu'on voit la valeur get qui designe la langue choisis.

Cela marche tres bien mais dans la seconde partie j'ai bien peur qu'il y a des conflits, puisque cette fois ci, j'ai un cas bien particulier, si on a l'url suivant:

www.monsite.com/fr/espece/genre_espece

J'ai envie de charger la page:

www.monsite.com/page.php?l=fr&g=genre&e=espece

Mais le htaccess que j'ai au dessus ne fonctionne pas pour cette deuxieme partie, et j'arrive pas a comprendre pourquoi, en effet j'ai une erreur 404, fichier non trouvé pour l'url /espece/genre_espece sur le serveur de www.monsite.com

Et pourtant, j'ai bien une url qui correspond a la deuxieme partie de ma réecriture...

C'est pour ca je pense que les deux RewriteRule sont en conflit puisque le premier prends tous les cas alors que le second est bien plus précis, que faire?

Merci

Modifié par djp1988
Posté

Tout simplement inverser tes règles (et ajouter le flag [L]) ;)

Options +FollowSymlinks
RewriteEngine on
RewriteRule ^(fr|de|en|es)/espece/([^_/]*)_([^_/]*)/$ /page.php?l=$1&g=$2&s=$3 [L]
RewriteRule ^(fr|de|en|es)/(.*)$ http://www.monsite.com/$2?l=$1 [NC,QSA,L]

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...