Quelle est la meilleure façon de convertir ces demandes:Utiliser mod_rewrite pour convertir les dossiers à querystring
http://www.example.com/en/
http://www.example.com/en/index.php
À:
http://www.example.com/index.php?language_id=en
Il y a différents fichiers PHP, la règle devrait également la carte
http://www.example.com/en/anyfile.php
Pour:
http://www.example.com/anyfile.php?language_id=en
L'ID de langue peut être n'importe quel code à deux lettres (il est vérifié dans le script PHP, pour s'assurer qu'il est valide).
Vraisemblablement, j'aurai besoin d'utiliser .htaccess, et tout conseil sur la façon de mettre en œuvre ce qui précède serait grandement apprécié. Merci.
Mise à jour
Ce qui suit a fonctionné pour moi.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ([a-z]+)/(css|js|images)/(.+) /$2/$3 [L]
RewriteRule ([a-z]+)/(.+).php /$2.php?language_id=$1 [QSA,L]
RewriteRule ([a-z]+)/$ /index.php?language_id=$1 [QSA,L]
</IfModule>
Cette demande également réachemine au css, js et images dossiers arrière dans le dossier racine. Cela fonctionne également si aucun nom de fichier n'est entré, redirigeant automatiquement vers index.php.
Merci, le drapeau QSA est ce que je cherchais :-) – Mun
merci, je me demandais toujours ce que le drapeau était pour –