我有一个像about.php?lang = en的网址,我想将其更改为about.php / en 我试过了
<pre>
RewriteCond %{THE_REQUEST} ^GET\ /\?(([^&\s]*&)*)lang=([^&\s]+)&?([^\s]*)
RewriteRule ^(.*)$ /lang/%3?%1%4 [L,R=301]
</pre>
在htaccess但它不起作用。
答案 0 :(得分:0)
您可以使用:
RewriteEngine on
#redirect /about.php?lang=lang to /about.php/lang
RewriteCond %{THE_REQUEST} /about\.php\?lang=([^\s&]+) [NC]
RewriteRule ^ /about.php/%1? [L,R]
#internally forward /about.php/lang to /about.php?lang=lang
RewriteRule ^about\.php/([^/]+)/?$ /about.php?lang=$1 [L]
不要删除最后的?否则mod-rewrite会将旧的查询字符串附加到目标网址。