8722 sujets

Développement web côté serveur, CMS

Bonsoir,

j'ai le souci suivant que je n'arrive pas à résoudre. Je fais un site multilingue pour lequel tous les scripts sont dans la racine et les sous-répertoires "en" et "fr" etc contiennent uniquement un htaccess avec les règles de réécritures des url. Le but étant d'avoir des url du type:

- monsite.fr/fr/une-pomme.html
- monsite.fr/en/an-apple.html

La structure des répertoires est la suivante:

- racine /
- fichier "index.php"
- fichier "truc.php"
- sous-repertoire "fr"
- fichier htaccess
- sous-repertoire "en"
- fichier htaccess

Les fichiers htaccess des répertoires "en" et "fr" contiennent des règles de ré-écriture comme par exemple:

- RewriteRule ^regle-ecriture-1$ /index.php?lang=fr
- RewriteRule ^regle-ecriture-2$ /index.php?lang=en

- RewriteRule ^regle-ecriture-3$ /truc.php?lang=fr
- RewriteRule ^regle-ecriture-4$ /truc.php?lang=en

Le problème est que les règles pour index.php fonctionnent bien mais pas celles pour truc.php. J'obtiens une erreur 404, alors que index.php et truc.php sont tous les deux dans la racine.

Quelqu'un saurait-il pourquoi index et truc sont traités différemment, et comment résoudre la réécriture pour truc?

Merci par avance,
Thierry