0

我正在尝试禁用对来自我的 beta.* 子域的所有内容的所有索引。我实际上在服务器上没有 beta/ 目录。该应用程序足够聪明,可以在看到 url 中的 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.*
4

1 回答 1

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>

虽然说实话,我很喜欢你的方式!

于 2012-12-30T17:16:28.490 回答