web-dev-qa-db-ja.com

X-Robots-Tagを使用してすべてのサブドメインをnoindexする方法(特定の例外を保存する)

Googleの RobotsメタタグおよびX-Robots-Tag HTTPヘッダー仕様 ページ(Apacheを使用したX-Robots-Tagの実用的な実装セクション)noindexing特定のファイルタイプの例を示します、すなわち:

<Files ~ "\.pdf$">
  Header set X-Robots-Tag "noindex, nofollow"
</Files>

しかし、X-Robots-Tagディレクティブをすべてのサブドメインに適用し、特定の例外(docs.example.comなど)を保存する方法については説明がありません。

PS-私の場合、ルートフォルダーは1つしかありません(ネットワーク全体でファイル構造を共有するWordPressマルチサイトを使用)。

3
Drewdavid

すべてのサブドメインがファイルシステム上の同じ場所を指しているため、ドキュメントルートの.htaccessファイルの上部で次のようなことができます。

SetEnvIf Host ^docs\. INDEX
SetEnvIf Host ^foo\. INDEX
Header set X-Robots-Tag "noindex, nofollow" env=!INDEX

これはmod_setenvifを使用して、インデックス付けを許可するサブドメインに環境変数INDEXを条件付きで設定します。 X-Robots-Tagヘッダーを設定したくないこと。サブドメインは、Host HTTP要求ヘッダーを確認することで識別されます。 noindexX-Robots-Tagヘッダーは、この環境変数がnotに設定されている場合にのみ設定されます。

現在、これはドメインの頂点(つまりX-Robots-Tag)とwwwサブドメインにnoindexexample.comも設定することに注意してください。メインドメインを除外して、別の例外を追加するには:

SetEnvIf Host ^(www\.)?example\.com INDEX
3
MrWhite