我将客户的网站从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页面。
答案 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/