简体   繁体   English

如何为多语言网站重写.htaccess中的url

[英]how to rewrite url in .htaccess for a multilingual website

Trying to setup a multi-language website but having trouble with rewriting URLs. 尝试设置多语言网站,但无法重写URL。

Current .htaccess gets rid of the need to specify the .php extension as below: 当前的.htaccess无需指定.php扩展名,如下所示:

Options +FollowSymLinks
RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [NC,L]

So gettext already setup and got a few languages translated and the url to switch the language is as below: 因此,已经设置了gettext并翻译了几种语言,并且切换语言的网址如下:

mysite.com/news?locale=en_US
mysite.com/news?page=2&locale=zh_TW
mysite.com/press?page=3&locale=it_IT

However my ultimate goal is to use like this: 但是我的最终目标是这样使用:

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

Can anyone enlighten me to the right direction, thanks. 有人可以启发我朝正确的方向前进,谢谢。

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM