是否有一种方法,您只能允许Google,Yahoo或其他搜索引擎漫游器等机器人访问位于http://www.mywebsite.com/sitemap.xml的站点地图。这可能是不允许用户直接访问但只允许机器人吗?
答案 0 :(得分:5)
基本上没有,但是您可以使用user-agent字符串执行某些操作并禁止访问(假设Apache)
<Location /sitemap.xml>
SetEnvIf User-Agent GodBot GoAway=1
Order allow,deny
Allow from all
Deny from env=!GoAway
</Location>
但正如它所说here(我找到了语法)
警告:
User-Agent的访问控制是一个 不可靠的技术,因为 User-Agent标头可以设置为 什么都有,随心所欲 最终用户。
答案 1 :(得分:1)
我的来源是Red:
$ip = $_SERVER["REMOTE_PORT"];
$host = gethostbyaddr($ip);
if(strpos($host, ".googlebot.com") !== false){
readfile("sitemap.xml");
}else{
header("Location: /");
答案 2 :(得分:0)
<强> sitemap.php 强>
<?php
$ip = $_SERVER["REMOTE_PORT"];
$host = gethostbyaddr($ip);
if(strpos($host, ".googlebot.com") !== false){
readfile("sitemap.xml");
}else{
header("Location: /");
}