0

beta.* サブドメインからのすべてのコンテンツのすべてのインデックス作成を無効にしようとしています。実際には、サーバーに beta/ ディレクトリがありません。アプリは、URL にベータ プレフィックスが表示されると、ユーザーをベータ コードに切り替えるほどスマートです。

とにかく、私がやろうとしているのは、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 に答える