我在尝试正确格式化重定向时遇到了一些困难。 我有以下内容:
RedirectMatch 301 http://mooseburger.com/onlinestore/index.cgi?code=3&cat=7
https://www.mooseburgeronline.com/categories/Clown-Costumes-/Coats%2C-Jackets-%26-Vests/
我知道它与%或&有关迹象。你怎么逃避他们?
答案 0 :(得分:0)
我认为RedirectMatch的模式应该是绝对URL(如“/ onlinestore / something”)或相对于htaccess位置的URL(如“onlinestore / something”)。此外,遗憾的是,RedirectMatch模式无法与查询字符串匹配。正如Rekire建议的那样,你需要使用mod_rewrite。语法将是这样的:
RewriteEngine on
RewriteCond %{QUERY_STRING} \bcode=(3)\b
RewriteCond %{QUERY_STRING} \bcat=(7)\b
RewriteRule ^onlinestore/index.cgi https://www.mooseburgeronline.com/categories/Clown-Costumes-/Coats%2C-Jackets-%26-Vests/? [NC]
这也剥离了原始查询字符串。我没有测试过,但这应该可以让你开始。
一些链接:
当然Google会为您提供数百个体面的教程。