301不带查询字符串的重定向(Wordpress)

时间:2015-05-11 17:41:55

标签: .htaccess server

我将客户的网站从concrete5切换到Wordpress,我们在谷歌和其他网站上有一堆现在是404的链接。我们正试图尽可能多地重定向这些链接。

我们在.htaccess文件中添加了尽可能多的文件,例如

Redirect 301 /news-articles/community/?cat=6 http://our-site.ca/news-articles/community/
Redirect 301 /news-articles/community/2015-in-the-community/?cat=1 http://our-site.ca/news-articles/community/2015-in-the-community/ 
Redirect 301 /news-articles/accident-benefits-update/?cat=5 http://our-site.ca/news-articles/accident-benefits-update/ 

我们注意到,如果他们在旧网址的末尾有一个查询字符串,我们会尝试谷歌寻找解决方案,但我们发现的所有内容都与重定向的某种网址有关。我们有数百人。

编辑:如果我们保持?cat = 5或者查询字符串是什么,它会破坏wordpress并转到我们的404页面。

2 个答案:

答案 0 :(得分:2)

您无法在Redirect指令中匹配查询字符串。请尝试使用mod_rewrite,以便您可以将查询字符串与%{QUERY_STRING}变量匹配:

RewriteEngine On

RewriteCond %{QUERY_STRING} ^cat=6$
RewriteRule ^news-articles/community/$ http://our-site.ca/news-articles/community/? [L,R=301]

RewriteCond %{QUERY_STRING} ^cat=1$
RewriteRule ^news-articles/community/2015-in-the-community/$ http://our-site.ca/news-articles/community/2015-in-the-community/? [L,R=301]

RewriteCOnd %{QUERY_STRING} ^cat=5$
RewriteRule ^news-articles/accident-benefits-update/$ http://our-site.ca/news-articles/accident-benefits-update/? [L,R=301]

确保删除规则中正则表达式的前导斜杠。

答案 1 :(得分:1)

尝试使用http://www.htaccessredirect.net/ .htaccess文件。

例如:

//301 Redirect Old File
Redirect 301 /news-articles/community/?cat=6 /news-articles/community/