.htaccess 页面名称前的隐藏参数


.htaccess hidden parameter before page name

我正在尝试重写网址,例如:

http://www.domain.com/contact?language=en
http://www.domain.com/?language=en

自:

http://www.domain.com/en/contact
http://www.domain.com/en/

用:

RewriteRule ^([^/]*)/([^/]+)/?$ $2/index.php?language=$1 [QSA,L]

我不确定为什么这不起作用!?

编辑

我将规则更改为:

RewriteRule ^([^/]*)/([^/]*)/?$ $2/?language=$1 [QSA,L]

这不会像上面的旧规则那样给出 URL 的错误。但是,它不会转到指定的目录

http://www.domain.com/en/contact <- stays at the / (root)
RewriteEngine On
RewriteBase /
RewriteRule ^(en|fr|de|nl)/(.*)$ /$2?language=$1 [QSA,L]