带有两个参数的PHP.htaccess

带有两个参数的PHP.htaccess,php,.htaccess,Php,.htaccess,现在我有一个多语言的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 ^(.+?

现在我有一个多语言的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/en/team-view/1
第二个问题: 我有这样的网页:

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

当使用
.htaccess
像这样重写URL时,您需要使用重写后的URL作为链接中的href。例如,您的语言切换器链接应该是
/en/{page}
/de/{page}
而不是您现在拥有的
?lang=
,对于第二个问题,这可能有助于您测试不同的htaccess文件-当使用
.htaccess
重写这样的URL时,您需要使用重写的URL作为链接中的href。例如,您的语言切换器链接应该是
/en/{page}
/de/{page}
而不是您现在拥有的
?lang=
。对于第二个问题,这可能有助于您测试不同的htaccess文件-