我有一个像about.php网址?LANG = EN和我想改变它about.php/EN 我已经试过htaccess的查询字符串重定向到路径
<pre>
RewriteCond %{THE_REQUEST} ^GET\ /\?(([^&\s]*&)*)lang=([^&\s]+)&?([^\s]*)
RewriteRule ^(.*)$ /lang/%3?%1%4 [L,R=301]
</pre>
在htaccess,但它DOEN”工作。
我有一个像about.php网址?LANG = EN和我想改变它about.php/EN 我已经试过htaccess的查询字符串重定向到路径
<pre>
RewriteCond %{THE_REQUEST} ^GET\ /\?(([^&\s]*&)*)lang=([^&\s]+)&?([^\s]*)
RewriteRule ^(.*)$ /lang/%3?%1%4 [L,R=301]
</pre>
在htaccess,但它DOEN”工作。
您可以使用此:
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会将旧的查询字符串追加到目标网址。
这不是为apache? – Mox