Je sais que ce problème est trop demandé, mais je n’ai rien trouvé qui corresponde à mon problème.
Je suis en train de créer un site Web, et mon URL est comme:
www.foo.com/ ou www.foo.com/index.php. Ils peuvent prendre 1, 2 ou trois parameters différents comme
www.foo.com/index.php?page=Home&lang=en&article=1
Ce que je voudrais, c’est une url comme
www.foo.com/Home/ or www.foo.com/en/Home or www.foo.com/Article/1 or www.foo.com/en/Article/1
Le paramètre de la page est obligatoire, les deux autres ne le sont pas .. Je ne peux rien faire pour moi … Toute aide serait grandement appréciée
Merci beaucoup !
Mieux vaut avoir des règles de propreté distinctes. Placez ce code dans votre fichier DOCUMENT_ROOT/.htaccess
:
RewriteEngine On RewriteRule ^index\.php$ - [L] RewriteRule ^([^/]+)/?$ /index.php?page=$1 [L,QSA] RewriteRule ^([az]{2})/([^/]+)/?$ /index.php?page=$2&lang=$1 [L,QSA] RewriteRule ^([az]{2})/([^/]+)/([0-9]+)/?$ /index.php?page=$2&lang=$1&article=$3 [L,QSA] RewriteRule ^([^/]+)/([0-9]+)/?$ /index.php?page=$1&article=$2 [L,QSA]
Essayez quelque chose comme ça
RewriteRule ^([a-z0-9_-]+)/([a-z0-9_-]+)/([a-z0-9_-]+)\.html$ index.php?param1=$1¶m2=$2¶m3=$3