2017-04-01 115 views
1

我有一个像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”工作。

+0

这不是为apache? – Mox

回答

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会将旧的查询字符串追加到目标网址。

+0

这似乎是工作,但现在我得到404页有没有什么办法,我们在浏览器中更改网址 – apoorv

+0

而不是重定向页面 – apoorv

+0

是**/about.php/en **导致404错误? – starkeen

相关问题