这可能是一个简单的问题,但我们找不到为什么301不起作用。当我们有一个带有问号的url时,.htacces
中的301重定向是不起作用的。例如:
/order/order.html?AddID=1078&Rand=666171759380936096
所以:Redirect 301 /order/order.html?AddID=1078&Rand=666171759380936096
http://www.domain.nl
在我们的网站管理员工具中,我们有8000个url,具有相同的结构/order/order.html?AddID=....
,比如404 not。我们希望301将它们重定向到主页,但是我们得到了404未找到的页面。当我们只对/order/order.html
使用相同的重定向时,他被重定向为正确的。
发布于 2013-08-28 12:09:55
不能与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=
开头的URL,所以您只需与之匹配:
RewriteEngine On
RewriteCond %{QUERY_STRING} ^AddID=[0-9]
RewriteRule ^order/order.html$ http://www.domain.nl/? [L,R=301]
发布于 2013-08-29 23:45:10
我刚刚又试了一次,现在我把它放在htacces的顶部,见printscreen。在本例中,它是关于url的(通常我不放置我自己的url),如果您将我们的404页中的一个/order/order.html?AddID=1037&Rand=539054443213186002放在url后面,/order/order.html将被删除,只有?AddID=1037&Rand=539054443213186002显示在主url后面,没有找到一个404页。
任何想法和我让htacces显示在攻击中,这样你就可以测试网址。
让我知道
https://stackoverflow.com/questions/18493473
复制相似问题