2013-09-29 49 views
3

我正在尝试301将一个类别重定向到wordpress中的另一个类别,出于某种原因,wordpress不会自动执行此操作,因此这是我目前的操作。使用.htacess将一个类别重定向到另一个类别 - wordpress

RewriteRule ^category/?(.*)$ /free/$1 [R=301,L] 

我试过这个没有希望的运气,任何想法为什么?一直在寻找一个解决方案,现在4h,我只是不知道。

貌似我7小时战斗已经结束(有点伤心,我花了那么长)这里是什么工作

解决方案:

RedirectMatch 301 /category/(.*) /free/$1 
+1

边注:不要用'[R = 301]'测试外部重定向。这是**永久**重定向,大多数浏览器都会缓存这个。如果您在规则中犯了错误,浏览器会缓存您的错误,然后浏览器将跳过您尝试重定向的页面,而不是转到您之前重定向到的页面。因此,使用'[R]'(临时重定向),直到所有规则完成你想要的操作。 – Sumurai8

+0

感谢您的提示,但我一直在使用标题跳棋不同的浏览器等仍然没有运气? rewiterules不需要条件吗?或者我的格式有问题吗? – user2827759

+0

我的理解是,Wordpress使用软件重定向,这可能会干扰你的规则。由于我不知道Wordpress的内部信息,所以我不能确定你需要改变什么。虽然可能有[这些问题之间](http://stackoverflow.com/search?q=%5Bwordpress%5D+%5B.htaccess%5D+category)。 – Sumurai8

回答

1

作品使用redirectMatch规则

RedirectMatch 301 /category/(.*) /free/$1 
1

第一件事是,你的正则表达式是不正确的因为它也将匹配/category-animal也为前。由于使用了/?之后。正确的规则应该这样写:

RewriteRule ^category(/.*|)$ /free/$1 [R=301,L,NC] 

而且因为WP转发所有URI其index.php重要的地方这一规则的第一条规则右下方RewriteEngine On线或RewriteBase线。

+0

我试过了,似乎没有工作,无论如何,我找到了一种使用RedirectMatch 301 /category/(.*)/ free/$ 1的方法。谢谢回复。 – user2827759

相关问题