rewriteRule不重定向

时间:2014-02-05 03:15:02

标签: .htaccess redirect

我有奇怪的情况。我有一个具有框架的站点,同一个站点在子文件夹上安装了wordpress。子文件夹名为wp。我希望wp / blog的所有请求都被博客替换,但同时与wp / blog的链接将处于非活动状态。我试过这个:

RewriteEngine On    
RewriteRule ^blog/([^'"]+)?$  /wp/blog/$1 [PT]
RewriteRule ^wp/blog/(.*)$ /blog/$1 [R=301,NC]

所以我的地址如http://mydomain.com/blog/test 它工作并显示wordpress内容,但http://mydomain.com/wp/blog/test 也显示内容。 为什么第二次重写规则不起作用? 我删除了第一个RewriteRule,第二个没有重定向。

这样做的主要思想是从链接中隐藏“wp”。

1 个答案:

答案 0 :(得分:0)

您需要使用THE_REQUEST变量强制301重定向为:

RewriteCond %{THE_REQUEST} \s/+wp/(blog/[^\s]+) [NC]
RewriteRule ^ /%1 [R=301,L]

RewriteRule ^(blog/[^'"]+)?$ /wp/$1 [PT]