2016-02-26 123 views
0

我想perfom 301重定向这样的:重定向301不能正常工作

<ifmodule mod_rewrite.c> 

RewriteEngine On 

##This is the redirect 
RewriteRule /page/old-url http://website.com/page/new-url [R=301,L] 

RewriteCond %{REQUEST_FILENAME} !-f 

RewriteCond %{REQUEST_FILENAME} !-d 

RewriteRule ^(.*)$ index.php?route=$1 [L,QSA] 

</ifmodule> 

但我得到这样一个网址:

http://website.com/page/new-url?route=page/old-url 

我试过例如许多变化:

RedirectMatch 301 /page/old-url http://website.com/page/new-url 

,但仍无法修复它

在此先感谢!

回答

0

有这样的:

RewriteEngine On 

##This is the redirect 
RewriteRule ^page/old-url/?$ /page/new-url/ [R=301,L,NC] 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d  
RewriteRule ^(.*)$ index.php?route=$1 [L,QSA] 

确保测试这种变化之前,清除浏览器缓存。

+0

我试了一下,但现在我得到这个URL:http://website.com/page/old-url,它不会更改为新的 – Luis

+0

该规则对我的Apache有效。确保这是在网站根目录下,并且在此之前没有其他规则 – anubhava