我要重写以下网址格式:
http://example.com/some/inner/page?param1=test&lang=en
成为
http://example.com/en/some/inner/page?param1=test
。因此,基本上我想使用“ lang” get参数并将其放在url的开头。我知道我必须在.htaccess中使用RewriteRule,但是必须编写的模式是什么?请注意,我还需要它同时适用于?lang=en
和?some-parameter=test&lang=en
答案 0 :(得分:0)
您可以将此规则用作根.htaccess中最重要的规则:
RewriteEngine On
RewriteCond %{THE_REQUEST} \?(.*&)?lang=([^&]+)&?(\S*)\sHTTP [NC]
RewriteRule ^ /%2%{REQUEST_URI}?%1%3 [R=301,NE,L]
这将从查询字符串中的任何位置删除lang=
参数,并使用前面相同参数的值进行重定向。