L'URL dans la barre d'adresse ne prend pas en compte les dossiers

lofo7

Nouveau WRInaute
Bonjour,
je mets en place l'URL Rewriting sur mon site mais l'écriture de l'URL dans la barre d'adresse est assez bizarre.
Pour l'exemple, imaginons que j'ai deux dossier sur le serveur, avec des fichiers à l'intérieur :

- j'ai un dossier "flore" avec les fichiers "index.php", "fiche.php"
- j'ai un dossier "faune" avec les fichiers "index.php", "fiche.php"

Mon .htaccess ressemble à cela :
Code:
RewriteRule Flore-de-France$ /flore/index.php [L]
RewriteRule F1([0-9]+)([A-Za-z0-9-]+)$ /flore/fiche.php?id=$1&nom=$2 [L]

RewriteRule Faune-de-France$ /faune/index.php [L]
RewriteRule F2([0-9]+)([A-Za-z0-9-]+)$ /faune/fiche.php?id=$1&nom=$2 [L]

Si je vais sur la page : http://www.monsite.com/flore/Flore-de-France
la page souhaitée s'affiche sans problème.
Sur cette page j'ai mis un lien vers la page Faune-de-France. Et quand je clique dessus mon URL devient :

http://www.monsite.com/flore/Faune-de-France
On remarque que le dossier "flore" n'a pas changé alors que je demande un fichier situé dans le dossier "faune". J'aimerais donc :
http://www.monsite.com/faune/Faune-de-France

Parfois, je n'ai même pas de dossier dans l'URL. J'ai :
- http://www.monsite.com/Flore-de-France
- http://www.monsite.com/Faune-de-France
- http://www.monsite.com/Truc-du-monde

alors même que chacun des fichiers demandés sont dans des dossiers, sous-dossiers...

Comment régler ce problème ?

Maxime
 

Leonick

WRInaute accro
parce qu'il ne faut pas utiliser d'url relative.
si tu appelais la page avec "/Faune-de-France" et pas "Faune-de-France" tu n'aurais pas de problème
 

lofo7

Nouveau WRInaute
Merci de ta réponse, j'ai pu régler le problème. J'ai quand même une petite question.
J'ai lu sur ce site qu'il était préférable de mettre l'accent circonflexe (^) devant chaque ligne.

Code:
RewriteRule Flore-de-France$ /flore/index.php [L]

devienfrait

Code:
RewriteRule ^Flore-de-France$ /flore/index.php [L]

Néanmoins, à chaque fois que je mets le ^, j'ai une erreur 404. Et je ne comprends pas trop pourquoi.

Maxime
 

Leonick

WRInaute accro
tout dépend comment ton serveur est paramétré. Des fois l'url sera Flore-de-France d'autres fois ça sera /Flore-de-France
dans ce cas, le "/" empêchera le ^ de fonctionner, car le ^ correspond au début du masque
 

Discussions similaires

Haut