.htaccess - 将root中的所有帖子移动到新类别

时间:2010-04-11 10:30:45

标签: wordpress .htaccess permalinks

有人可以帮帮我吗?我是最后一次机会沙龙,失去了很多交通。任何帮助都会得到很好的接受。

根据我的固定链接结构一年后,所有帖子都在根目录中,因此Google已将其收录为:

snowmenu.com/postname

自从更改我的类别和固定链接结构后,我需要将Google上几年的帖子重定向到:

snowmenu.com/ski-snowboard-winter-sports-news/postname

有没有办法通过.htaccess实现这一点?

非常感谢能够帮助我的人。

3 个答案:

答案 0 :(得分:0)

刚看了一下网站,据我所知,我很害怕用.htaccess进行这种转发并不容易。

这是因为无法区分链接结构与(eg http://www.snowmenu.com/ski-resorts/)之类的“普通链接”以及您希望重定向到(eg http://www.snowmenu.com/ski-snowboard-winter-sports-news/latest-ski-news/)的内容。如果您重定向所有请求,您最终会获得http://www.snowmenu.com/ski-snowboard-winter-sports-news/ski-resorts/这样的链接,如果我这样做是不可取的?

长期解决方案是为每个URL创建一个htaccess重定向。

我想到的唯一其他解决方案是使用PHP(或simular)在404文档中进行重定向。

修改
这会将所有请求重定向到您想要的页面。但正如我之前所说,我不认为这是你想要的?

RewriteRule ^(?!ski-snowboard-winter-sports-news)(.*)$ /ski-snowboard-winter-sports-news/$1 [L,R=301] 

编辑2
考虑到这一点,我想我已经提出了一个可行的选择。这将检查所请求的文件是否存在,如果存在,它将重定向到您的新目录(理论上:P)。

RewriteCond %{DOCUMENT_ROOT}/ski-snowboard-winter-sports-news/$0 -f
RewriteRule ^(.*)$ /ski-snowboard-winter-sports-news/$1 [R=301,L]

答案 1 :(得分:0)

您可以使用此插件来避免直接弄乱.htaccess文件: http://wordpress.org/extend/plugins/redirection/

它有一个很好的界面供您配置重定向规则。

答案 2 :(得分:0)

@Wordpress Hardcore提到的插件效果最佳。