1

问题是,我可以在这里看到 robots.txt 文件:

http://persian.cc

(请在域名后加 /robots.txt)

但谷歌不能!

我知道我可以在网站的根目录中找到 robots.txt 文件,但是我的里面没有 robots.txt 文件,而且这个 robots.txt 是由 WordPress 制作的虚拟文件。现在如何阻止 wordpress 这样做?!

或者,如果我无法阻止 wordpress 显示该虚拟 robots.txt 文件,我该如何阻止谷歌在我的网站上查找它?也许是 .htaccess 代码之类的?

谢谢

4

1 回答 1

1

不知道这是否有帮助。但我答应为 WordPres / Joomla / PHPBB 维护一篇关于 robots.txt 的文章。它仍处于工作状态。这里是:

http://mast3rpee.tk/?p=127

基本上我正在做的是设置默认的robot.txt,并使用.haccess 文件修改apache 以强制加载自定义robots.php。为什么?好吧,这解决了大多数问题,而不仅仅是这里的问题。它也适用于可以创建各种问题的免费托管(一些禁止 txt 文件!一些覆盖 robots.txt 等)。

这是代码

.htaccess

# BEGIN Robots
<IfModule mod_rewrite.c>
<FilesMatch "^robots.(txt|php)$">
Header Set Last-Modified "Tue, 01 Jan 2013 12:00:00 GMT"
</FilesMatch>
RewriteEngine On
RewriteBase /
RewriteRule ^(robots)\.txt$ /$1.php [L]
</IfModule>
# END Robots

机器人.txt

User-agent: *
Disallow: /cgi-bin/
Disallow: /feed/
Disallow: /wp-admin/
Disallow: /wp-content/plugins/
Sitemap: http://{PUT YOUR DOMAIN}/sitemap.xml
Crawl-delay: 4

机器人.php

<?php
$start = "2013/01/01";  // Date you started your blog YYYY/MM/DD
$average = 30;      // Number of posts you make per month
$sitemap = "http://{PUT YOUR DOMAIN}/sitemap.xml";
// Is blog old enough
$old = ($average/30)*(time()-strtotime($start)) > 3600*24*360? true : false;
// Output proper headers
header ('Content-Type: text/plain');
header ('Cache-Control: private, pre-check=0, post-check=0, max-age=36000');
header ('Expires: ' . gmstrftime('%a, %d %b %Y %H:%M:%S GMT', time() + 36000));
header ('Last-Modified: ' . gmstrftime('%a, %d %b %Y %H:%M:%S GMT', time() - 36000));

if ($old) { $custom = date("Y/m");
echo <<< ROBOTS
User-agent: *
Disallow: /cgi-bin/
Disallow: /feed/
Disallow: /wp-admin/
Disallow: /wp-content/plugins/
Disallow: /$custom
Sitemap: $sitemap
Crawl-delay: 4
ROBOTS;
} else { $custom = date("Y");
echo <<< ROBOTS
User-agent: *
Disallow: /cgi-bin/
Disallow: /feed/
Disallow: /wp-admin/
Disallow: /wp-content/plugins/
Disallow: /archives/
Disallow: /tag/
Disallow: /$custom
Sitemap: $sitemap
Crawl-delay: 4
ROBOTS;
}
exit; ?>
于 2013-06-10T17:27:35.383 回答