301重定向? (问号)不在htaccess工作

时间:2013-08-28 16:30:20

标签: .htaccess redirect http-redirect url-redirection redirecttoaction

这可能是一个简单的问题,但我们无法找到为什么301无效。当我们有一个带问号的网址时,.htacces中的301重定向无效。例如:

/order/order.html?AddID=1078&Rand=666171759380936096

所以: Redirect 301 /order/order.html?AddID=1078&Rand=666171759380936096 http://www.domain.nl

在我们的网站管理员工具中,我们有8000个网址具有相同的结构/order/order.html?AddID=....,表示找不到 404 。我们希望 301 将其重定向到主页,但我们会找到 404 未找到的网页。当我们使用仅/order/order.html的相同重定向时,他被重定向正确。

2 个答案:

答案 0 :(得分:1)

您无法匹配Redirect语句中的查询字符串,使用mod_rewrite并匹配%{QUERY_STRING} var:

RewriteEngine On
RewriteCond %{QUERY_STRING} ^AddID=1078&Rand=666171759380936096$
RewriteRule ^order/order.html$ http://www.domain.nl/? [L,R=301]

但是,由于您有8000个以查询字符串?AddID=开头的网址,因此您只能与之匹配:

RewriteEngine On
RewriteCond %{QUERY_STRING} ^AddID=[0-9]
RewriteRule ^order/order.html$ http://www.domain.nl/? [L,R=301]

答案 1 :(得分:0)

我刚刚尝试过,现在我把它放在了htacces的顶部,看看printscreen。在这种情况下,它是关于网址(通常我不会放置我自己的网址)www.tablet.nl,如果您将我们的404页面之一/order/order.html?AddID=1037&Rand=539054443213186002放在网址后面, /order/order.html是否已被删除?AddID = 1037& Rand = 539054443213186002显示在主网址后面,找不到404页面。

任何想法,我让附件中显示的htacces可以测试网址。

让我知道

enter image description here