как переписать URL в .htaccess для многоязычного сайта

Попытка настроить многоязычный веб-сайт, но возникают проблемы с переписыванием 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

Может кто-нибудь просветить меня в правильном направлении, спасибо.

0

Решение

RewriteRule ^([^/]+)/([^/]+)$ $2?locale=$1 [QSA,L]
RewriteRule ^([^/]+)/([^/]+)/([^/]+) $2?page=$3&locale=$1 [QSA,L]
2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]