Попытка настроить многоязычный веб-сайт, но возникают проблемы с переписыванием URL.
Текущий .htaccess избавляет от необходимости указывать расширение .php, как показано ниже:
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [NC,L]
Итак, gettext уже настроен и переведен на несколько языков, а URL для переключения языка приведен ниже:
mysite.com/news?locale=en_US
mysite.com/news?page=2&locale=zh_TW
mysite.com/press?page=3&locale=it_IT
Однако моя конечная цель — использовать вот так:
mysite.com/en/news <= translated => mysite.com/news?locale=en
mysite.com/zh_tw/news/2 <= translated => mysite.com/news?page=2&locale=zh_TW
mysite.com/it/press/3 <= translated => mysite.com/press?page=3&locale=it
Может кто-нибудь просветить меня в правильном направлении, спасибо.
RewriteRule ^([^/]+)/([^/]+)$ $2?locale=$1 [QSA,L]
RewriteRule ^([^/]+)/([^/]+)/([^/]+) $2?page=$3&locale=$1 [QSA,L]
Других решений пока нет …