0

这可能是一个简单的问题,但我们找不到 301 不工作的原因。当我们有一个带问号的 url 时,我们的 301 重定向.htacces不起作用。例如:

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

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

在我们的网站管理员工具中,我们有 8000 个具有相同结构的 url,/order/order.html?AddID=....404未找到。我们想要301将它们重定向到主页,但我们得到一个404未找到页面。当我们使用相同的重定向时,只有/order/order.html他被重定向正确。

4

2 回答 2

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 个以查询字符串开头的 URL ?AddID=,因此您可以匹配:

RewriteEngine On
RewriteCond %{QUERY_STRING} ^AddID=[0-9]
RewriteRule ^order/order.html$ http://www.domain.nl/? [L,R=301]
于 2013-08-28T20:09:55.137 回答
0

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

任何想法,我让 htacces 如附件所示,以便您可以测试 url。

让我知道

在此处输入图像描述

于 2013-08-30T07:45:10.113 回答