.htaccess将URL中的第一个段视为所有php文件的$ _GET参数

时间:2017-08-08 14:14:09

标签: php apache .htaccess mod-rewrite

我与.htaccess面临的问题是,我想将第一段网址作为$ _GET参数传递,以便例如 www.example.com/en / 读取 www.example.com?language=en www.example.com/category/groceries/?language=en 读为 www.example.com/ en / category / groceries ,我希望在没有为每个页面编写规则的情况下为所有php页面完成此操作 这是我尝试没有成功的原因

RewriteEngine on
RewriteRule ^en$ ?language=en&%{QUERY_STRING} [NC,L,QSA]
RewriteRule ^ar$ ?language=ar&%{QUERY_STRING} [NC,L,QSA]

然而,这并不像预期的那样工作

1 个答案:

答案 0 :(得分:1)

您可以对所有网址使用此单一规则:

RewriteEngine on

RewriteRule ^([a-z]{2})(/.*)?$ $2?language=$1 [L,QSA]

如果您只想支持en作为语言标识符,请使用:

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