9

& 是 html 中的保留字符,因此在任何地方我都有 url 指向带有查询字符串的路径,我放了 & 而不是 & 以便我获得有效的 HTML。

有许多不同的爬虫浏览网站并访问此 url,但它们不使用 html 解码方法来获取正确的 url 值,因此它们向我的网站发出请求:

mywebsite.com/?p1=v1&p2=v2

代替

mywebsite.com/?p1=v1&p2=v2

现在我正在响应错误页面,因为发出此请求的机器人对我不感兴趣。

但我的问题是,处理此类请求的最佳做法是什么?

您知道支持处理此类请求是否有任何用处?(例如,是否有任何流行的爬虫或浏览器无法正确转换此网址?)

4

2 回答 2

1

我认为您可以期望任何主要的爬虫都能够处理有效的转义 URL。所以我不会担心剩下的。

如果您真的喜欢,那么您可能想要将重写规则添加到您的 Apache 或您使用的任何东西中。但是,当 URL 确实包含字符序列并被您的重写规则&替换为错误时,这可能会导致其他问题。&

在我看来,最好保持不变。这不是你的错,当你并不真正关心这些爬虫时 - 那又如何?:)

于 2012-06-27T08:57:07.423 回答
-3

是的 & 是一个保留字符,但你不会把它放在网站链接中。

正确的

<a href="mywebsite.com/?p1=v1&p2=v2">mywebsite.com/?p1=v1&amp;p2=v2</a>

不正确

<a href="mywebsite.com/?p1=v1&amp;p2=v2">mywebsite.com/?p1=v1&amp;p2=v2</a>
于 2012-07-03T08:10:21.830 回答