【问题标题】:url problems for my website我的网站的网址问题
【发布时间】:2011-07-06 06:21:02
【问题描述】:

我有一个展示特定产品(书籍、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

当然,这个 url 在 ASP.NET 中不能再像通常的 url 那样被解释,所以我不能像往常一样提取参数 (Request.QueryString)...

  1. 您知道这个机器人是如何以这种方式扫描网站的吗?因为在我的网站上没有任何地方有 & 的网址替换为 &

  2. 您看到解决方法了吗?对于初始请求,我无法即时将& 替换为&...

Ps:哦,是的,我知道如果我进行 url 重写我不再有这样的问题,但我现在不能仅仅因为这个而改变所有的网站......

【问题讨论】:

    标签: .net asp.net url


    【解决方案1】:
    1. 您能在 IIS 日志中看到这是什么类型的机器人吗?可能是一个不重要的,所以你可以忽略它。

    2. 作为一个相对简单的解决方法,您可以像这样进行 URL 重写(取决于您的 QueryString 组合,这可以调整):检查

      (.*)&(.*)&(.*)&(.*)
      

    并重定向到(类似于 - 这尚未经过测试)

    {R:1}&{R:2}&{R:3}&{R:4}

    如果有不同数量的 QueryString 参数,您可以编写不同的规则,从最大数量开始(或找到更好的规则)。这真的可以在不改变整个网站的情况下完成。

    但首先我会寻找发生这种情况的其他原因。

    第三种方法(也许是最好的方法)是无论如何都使用“SEO 友好的 URL”而不是可见的 QueryString。它也可能有助于您的排名。查看http://weblogs.asp.net/scottgu/archive/2007/02/26/tip-trick-url-rewriting-with-asp-net.aspx(或许多其他网站)了解更多信息。

    【讨论】:

    • 我已经能够找出机器人的 ip 并进行 whois 显示:Title: WordPress.com。那么似乎 wordpress 机器人有一些问题..?
    • 看来是这样。但是,您仍然可以将重写规则应用于您的 IIS(或您的 web.config)。
    猜你喜欢
    • 2018-07-21
    • 1970-01-01
    • 1970-01-01
    • 2021-12-11
    • 1970-01-01
    • 2014-10-07
    • 2015-01-16
    • 1970-01-01
    • 2011-06-06
    相关资源
    最近更新 更多