我有一个页面,我提供了一个特定的产品(书籍,CD等),如下所示:
http://gramma.ro/Site/DetaliiProdus.aspx?c=m1&p=1493&s1=40&s2=71
我不明白为什么,有时,有些机器人尝试使用以下网址访问这些详细信息页面:
http://gramma.ro/Site/DetaliiProdus.aspx?c=m1&p=1493&s1=40&s2=71
当然,这个网址不再像通常的网址那样在ASP.NET中解释,因此我无法像往常一样提取参数(Request.QueryString
)......
您是否知道此机器人如何以这种方式扫描网站?因为在我的网站上没有任何地方我将&
替换为&
你看到了解决方法吗?对于初始请求,我无法动态替换&
&
...
Ps :哦,是的,我知道如果我写url重写我不再有这样的问题,但我现在无法改变所有网站只是因为这...
答案 0 :(得分:0)
你能在IIS日志中看到什么样的机器人?可能是一个不重要的,所以你可以简单地忽略它。
作为一种相对简单的解决方法,您可以像这样进行URL重写(取决于您可以调整的QueryString组合):检查
(.*)&(.*)&(.*)&(.*)
并重定向到(类似 - 尚未经过测试)
{R:1}&安培; {R:2}&安培; {R:3}&安培; {R:4}
如果有不同数量的QueryString参数,您可以编写不同的规则,从最高金额开始(或找到更好的规则)。这可以在不改变整个网站的情况下完成。
但首先我会寻找其他原因。
第三种方式(也许最好的方法)是使用“SEO友好的URL”而不是可见的QueryStrings。它也可能有助于你的排名。查看http://weblogs.asp.net/scottgu/archive/2007/02/26/tip-trick-url-rewriting-with-asp-net.aspx(或许多其他网站)以获取更多信息。