Я потратил часы, пытаясь заставить работать простое переписывание, в моем фундаментальном понимании mod_rewrite должна быть ошибка:
Я хочу правило, которое выполняет следующую подстановку:
www.example.com/fr/ -> www.example.com/?lang=fr
который у меня работает, но для подкаталогов:
www.example.com/fr/other/directories/ -> www.example.com/other/directories/?lang=fr&lang=fr&lang=fr
Кажется, что правило применяется один раз для каждого подкаталога (оно должно применяться только один раз).
Кроме того, запрос без завершающего слеша приводит к добавлению еще одного lang=fr
к строке запроса
Правило находится в , а не в теге
RewriteRule ^ / (en | fr | zh | gr | it) / (. *) $ / $ 2? Lang = $ 1 [QSA]
Я также использую директиву DocumentIndex /index.php index.php
Большое спасибо.