首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Googlebot-图像不正确地跨越域URL

问Googlebot-图像不正确地跨越域URL
EN

Webmasters Stack Exchange用户
提问于 2019-11-29 19:51:04
回答 1查看 97关注 0票数 3

我的网站(www.example.com)有我所有的图像通过CDN托管在一个不同的子域(cdn.example.com)。

我们最近注意到了一种奇怪的行为,似乎Googlebot-Image/1.0试图从CDN域抓取有效的图像URL,但以站点域作为前缀(或者添加一个前导斜杠?)。

它不是在https://cdn.example.com/product/12345.jpg请求图像,而是试图请求https://www.example.com/https:/cdn.example.com/product/12345.jpg

这导致每周有成千上万的异常记录在我们的主站点上,因为实际的URL是无效的。

除了对站点本身进行编程以处理格式错误的URL之外,我还能做些什么来缓解这种情况吗?

拒绝www域上的Googlebot-映像会阻止它成功地爬行cdn域吗?

我需要robots.txt域本身的cdn文件吗?

EN

回答 1

Webmasters Stack Exchange用户

回答已采纳

发布于 2020-02-18 22:12:00

这很可能是由于网页中的URL格式错误造成的。注意,https://www.example.com/https:/cdn.example.com/product/12345.jpg在https:/cdn中只有一个斜杠,而不是两个斜杠。如果您的页面有一个<img src="https:/cdn.example.com/...",它可能被解释为一个相对链接。

解决方案是找到站点中的所有图像URL,并确保它们具有两个斜线的良好格式。或者,您可以使用以两个斜杠开头的协议相对链接:<img src="//cdn.example.com/..."。

在web服务器上,您可以重定向包含"http:/“的URL,如下所示:

代码语言:javascript
复制
RewriteEngine On
RewriteCond %{THE_REQUEST} .*(https?):/{1,2}(cdn\.example\.com/.*) [NC]
RewriteRule ^(.*)$ %1://%2 [R=301,L]

这将处理所有具有http或https、一个或两个斜杠以及可选路径前缀的请求:

  • https://www.example.com/https:/cdn.example.com/product/12345.jpg
  • https://www.example.com/http:/cdn.example.com/product/12345.jpg
  • https://www.example.com/https://cdn.example.com/product/12345.jpg
  • https://www.example.com/some-path/https:/cdn.example.com/product/12345.jpg
票数 1
EN
页面原文内容由Webmasters Stack Exchange提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://webmasters.stackexchange.com/questions/126463

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档