2017-09-28 17 views
1

私はURLにいくつかのパラメータを持っています。 1つのパラメータを持つURLは、X-Robots-Tagという独自の特別なインデックス/クロールルールを取得する必要があります。 質問がある異なるパラメータの異なるヘッダ

<IfModule mod_rewrite.c> 
RewriteCond %{QUERY_STRING} ^id=([0-9]*)$ 
RewriteRule .* - [E=NOINDEX_HEADER:1] 
</IfModule> 

<IfModule mod_headers.c> 
Header set X-Robots-Tag "index, follow" env=NOINDEX_HEADER 
</IfModule> 

:どのように私はその値を持つid=の横にある全ての他のパラメータ別Header set X-Robots-Tagルールにを割り当てるには、このルールを変更することができこれはによって行われますか?

RewriteCond %{QUERY_STRING} !=id*$のようにidのパラメータを除外して別のルールを割り当てることを考えましたが、正しいかどうかはわかりません。

<IfModule mod_rewrite.c> 
RewriteCond %{QUERY_STRING} !=id*$ 
RewriteRule .* - [E=NOINDEX_HEADER:1] 
</IfModule> 

<IfModule mod_headers.c> 
Header set X-Robots-Tag "noindex, nofollow" env=NOINDEX_HEADER 
</IfModule> 

答えて

1

あなたはRewriteCondにこのような否定を使用することができます。

<IfModule mod_rewrite.c> 
RewriteCond %{QUERY_STRING} !(^|&)id= [NC] 
RewriteRule^- [E=NOINDEX_HEADER:1] 
</IfModule> 

<IfModule mod_headers.c> 
Header set X-Robots-Tag "noindex, nofollow" env=NOINDEX_HEADER 
</IfModule> 
+0

を、私はid' 'のほんのいくつかの値を除外したい場合は、以下:'するRewriteCond%{QUERY_STRING}(^ |&)! id =(1 | 2 | 3)[NC] '? –

+1

その場合、次のようにしてください: 'RewriteCond%{QUERY_STRING}!(^ |&)id =(?:val1 | val2 | val3)(?:&$)[NC]' – anubhava

関連する問題