我正在尝试禁用来自我的beta。*子域的所有内容的所有索引。我实际上在服务器上没有beta /目录。该应用程序非常智能,可以在用户看到网址中的测试版前缀时将其切换为测试版代码。
无论如何,我正在尝试做的是在使用beta。*前缀时将所有机器人重定向到robots-beta.txt,但是我很难让它工作。我已经在我的htaccess文件中尝试了这个并尝试修改我的虚拟主机,但似乎没有任何结果。
# Disable beta.* indexing
RewriteCond %{HTTP_HOST} ^beta\.sitename\.com$
RewriteRule ^robots.txt$ http://beta.sitename.com/robots-beta.txt [L]
修改 或者,如果有一种方法可以在原始的robots.txt文件中执行此操作,那么我认为这样会更好。有点像?
User-agent: *
Disallow: beta.*
答案 0 :(得分:1)
我总是这样设置我的robots.txt(我正在使用PHP):
<?
$pos = strpos($_SERVER['HTTP_HOST'], ".gridserver.com"); // this is my temp domain
if ($pos === false) { ?>
User-agent: *
Disallow: /admin/
Disallow: /ajax/
Sitemap: http://<?= $_SERVER['SERVER_NAME'] ?>/sitemap.xml
<? } else { ?>
User-agent: *
Disallow: /
<? } ?>
然后在我的.htaccess中:
<FilesMatch "^robots.txt$">
SetHandler php-script
</FilesMatch>
虽然说实话,我非常喜欢你的方式!