7

Can I 'noindex, follow' a specific page using x robots in .htaccess?

I've found some instructions for noindexing types of files, but I can't find instruction to noindex a single page, and what I have tried so far hasn't worked.

This is the page I'm looking to noindex:

http://www.examplesite.com.au/index.php?route=news/headlines

This is what I have tried so far:

<FilesMatch "/index.php?route=news/headlines$">
 Header set X-Robots-Tag "noindex, follow"
</FilesMatch>

Thanks for your time.

4

4 に答える 4

13

.htaccess ファイル内から要求パラメーターを一致させることは不可能のようです。照合できる対象のリストは次のとおりです: http://httpd.apache.org/docs/2.2/sections.html

スクリプトで行う方がはるかに簡単です。PHP で実行している場合は、次を試してください。

header('X-Robots-Tag: noindex, follow');

$_GET、REQUEST_URI などの条件を簡単に作成できます。

于 2012-11-22T12:35:59.733 に答える
7
RewriteEngine on
RewriteBase /

#set env variable if url matches
RewriteCond %{QUERY_STRING} ^route=news/headlines$
RewriteRule ^index\.php$ - [env=NOINDEXFOLLOW:true]

#only sent header if env variable set
Header set X-Robots-Tag "noindex, follow" env=NOINDEXFOLLOW

FilesMatch は、URL ではなく (ローカル) ファイルで機能します。そのため、URL の /index.php 部分のみを照合しようとします。<location>より適切ですが、ドキュメントから読み取ることができる限り、クエリ文字列はここでは許可されていません。だから私は上記の解決策に行き着きました(私はこの挑戦が本当に好きでした)。php はこれを配置するより明白な場所ですが、それはあなた次第です。

もちろん、このソリューションには mod_rewrite と mod_headers が必要です。

于 2012-11-27T20:26:28.453 に答える
0

ヘッダーを設定するには、mod_headersモジュールを有効にする必要があることに注意してください。

他の人が言っているように、phpタグを使用する方が良いようです。それはうまくいきませんか?

于 2012-11-24T13:37:52.787 に答える
0

Google によると、構文は少し異なります。

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

https://developers.google.com/webmasters/control-crawl-index/docs/robots_meta_tag

于 2012-11-27T12:55:00.193 に答える