2

これは、ディレクトリの下のページを禁止するために機能しますが、そのディレクトリ URL のページは引き続き許可しますか?

Allow: /special-offers/$
Disallow: /special-offers/

許可する:

www.mysite.com/special-offers/

しかしブロック:

www.mysite.com/special-offers/page1

www.mysite.com/special-offers/page2.html

4

2 に答える 2

1

基準

HTML 4.01 仕様、付録 B.4.1によると、許可されている値Disallow(しゃれは意図されていません) は部分 URI (部分パスまたは完全パスを表す) のみです。

「許可しない」フィールドは、アクセスしない部分的な URI を指定します。これは完全なパスまたは部分的なパスです。この値で始まる URI は取得されません。例えば、

許可しない: /helpは /help.html と /help/index.html の両方を禁止しますが、

許可しない: /help/は /help/index.html を禁止しますが、/help.html は許可します。

現在のHTML5 仕様ドラフトではまったく言及されていないため、それ以来何も変わっていないと思いますrobots.txt

拡張機能

ただし、実際には、多くのロボット エンジン ( Googlebotなど) は、受け入れる内容についてより柔軟です。たとえば、次のように使用します。

Disallow: /*.gif$

Googlebot は拡張子を持つファイルをスキップしますgif。フォルダーの下のすべてのファイルを禁止するには、次のようなことができると思いますが、100% 確実ではありません ( Google Webmaster Toolsでテストできます)。

Disallow: /special-offers/*.*$

その他のオプション

いずれにせよ、これに頼りすぎるべきではありません (検索エンジンごとに動作が異なる可能性があるため)。そのため、可能であれば代わりにメタ タグまたは HTTP ヘッダーを使用することをお勧めします。たとえば、インデックスを作成する (または追跡する) べきではないすべての応答にこのヘッダーを含めるように Web サーバーを構成できます。

X-Robots-Tag: noindex, nofollow

特定の Web サーバーで最適な方法を検索してください。これは Apacheので、 と組み合わせmod_rewritemod_headers、URL パターンに応じていくつかのヘッダーを条件付きで設定します。免責事項:私は自分でテストしていないので、どれだけうまく機能するかわかりません.

# all /special-offers/ sub-urls set env var ROBOTS=none
RewriteRule ^/special-offers/.+$ - [E=ROBOTS:none]

# if env var ROBOTS is set then create header X-Robots-Tag: $ENV{ROBOTS}
RequestHeader set X-Robots-Tag %{ROBOTS}e env=ROBOTS

(注:noneは と同等ですnoindex, nofollow)

于 2013-01-31T07:33:56.147 に答える