【发布时间】:2011-11-04 11:24:54
【问题描述】:
我们遇到了一个奇怪的问题,即 Google 的网站管理员工具会提醒我们一些它试图抓取的相当奇怪的 URL。我们不知道这些是在哪里生成的,并且想了解它们是如何创建的。这些是以下形式:
通常采用以下形式:
但是 asp.net MVC 似乎可以处理垃圾(通过忽略它?),并且(第一个)请求似乎被正确路由。事实上,当添加这些垃圾时,所有路由似乎都可以正常工作。例如:
http://test.xyz/some/other/page
同样可以通过:
这对我来说意味着垃圾具有某种特殊的含义。任何人都可以告诉我这里发生了什么。这些路线不应该匹配,但显然它们匹配。怎么回事?
编辑
我们没有使用 cookie 身份验证。这是web.config的相关部分:
<authentication mode="Forms">
<forms loginUrl="~/Account/LogOn" defaultUrl="~" slidingExpiration="true"
timeout="10080"/>
</authentication>
有趣的是,如果我使用标准用户代理连接到站点:
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:5.0) Gecko/20100101 Firefox/5.0,
使用这些垃圾填充的 URL 之一,然后请求得到尊重。
另一方面,如果我使用 googlebot UA 进行连接
Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)
我收到 400 响应。
【问题讨论】:
标签: asp.net-mvc asp.net-mvc-2 routes