我的htaccess有问题,我们移动了一个网站,他们旧的网站上有很多重复的网页,有?cat_id=88
等等......在他们身上,我正在尝试要重定向页面但它不起作用,我已将重定向代码放在下面,我已经将mantra.html
重定向到/Mantra
但是?cat_id=79
的版本没有重定向,它只是忽略了?
Redirect 301 /mantra.html?cat_id=79 http://www.website.co.uk/Mantra
答案 0 :(得分:1)
重定向仅接受路径,而不接受带有查询字符串的路径。你可以使用mod_rewrite
RewriteEngine on
RewriteCond %{QUERY_STRING} ^cat_id=79$
RewriteRule ^mantra\.html$ /Mantra? [R=302,L]
一旦你开始工作就将302更改为301(301被浏览器积极缓存并使调试成为一场噩梦)。
编辑在末尾添加了?
以删除任何查询字符串。如果查询字符串中没有其他数据,Apache将删除?
,因此最终用户永远不会看到它。