现在我有一个多语言的CMS,它与.htaccess一起工作很好。
这是我的代码:
RewriteEngine on
#remove .php
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^([^\.]+)$ $1.php [NC,L]
#redirect lang
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+?)/(.*)$ $2.php?lang=$1 [L]
现在我的链接:
www.mywebsite.com/team.php?lang=en
充当
www.mywebsite.com/en/team
没关系。
第一个问题是:
我创建了一个包含?lang=en
,?lang=de
链接的语言切换器,当我点击德语时,链接就变为
www.mywebsite.com/en/team?lang=de
这是无效的,并且它不会改变语言。
如何设置语言切换器以更改德语语言,所以此URL:
www.mywebsite.com/en/team
成为
www.mywebsite.com/de/team
第二个问题: 我有这样的页面:
www.mywebsite.com/team-view?id=1
www.mywebsite.com/team-view?id=2
www.mywebsite.com/team-view?id=3
等等。当我添加另一个参数lang=en
所以他们成了
www.mywebsite.com/team-view?id=1&lang=en
这是有效的,它显示了英文内容,但如何设置.htaccess有两个参数?
我希望此链接成为
www.mywebsite.com/en/team-view/1
也是正确更改语言的语言切换器,所以当我选择德语时就是这样:
www.mywebsite.com/de/team-view/1