拒绝直接访问 sitemap.xml(仅允许搜索机器人)
Posted
技术标签:
【中文标题】拒绝直接访问 sitemap.xml(仅允许搜索机器人)【英文标题】:Deny direct access to sitemap.xml (Allow only search bots) 【发布时间】:2021-06-30 21:37:29 【问题描述】:我在 Apache 2.4 上,需要限制用户对 sitemap_index.xml 的直接访问,只允许已知的机器人访问站点地图,你能帮我用一些 .htaccess 规则吗?
【问题讨论】:
【参考方案1】:您可以添加一个规则,根据正在使用的用户代理阻止对站点地图的访问,这当然不是很安全,因为用户总是可以将用户代理设置为其他内容,但这可能适用于您的特定情况:
RewriteEngine On
# Check so we have a user-agent equal to 'googlebot'
RewriteCond %HTTP_USER_AGENT !googlebot$ [NC]
# If the user-agent is not correct we return a 403: Forbidden
RewriteRule ^sitemap\.xml - [F,L]
您可以简单地更改上述条件以包含您想要包含的任何用户代理,例如:
RewriteCond %HTTP_USER_AGENT !^(googlebot|spider|foo)$ [NC]
以上将允许用户代理设置为 googlebot、spider 或 foo 的请求访问 sitemap.xml 文件。
【讨论】:
以上是关于拒绝直接访问 sitemap.xml(仅允许搜索机器人)的主要内容,如果未能解决你的问题,请参考以下文章
百度添加Sitemap.xml提示“索引型不予处理”的解决办法