2017-05-07 16 views
1

私は、私のウェブサイトwww.domain/privacy-policy /に私のプライバシーポリシーページを持っています。私はXロボットタグでnoindexしたいと思います。私は、次のコードを試してみましたが、それは一致していないXロボットタグnoindex固有のページ

# BEGIN WordPress 
<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase/

## Redirect HTTP to HTTPS 
RewriteCond %{HTTPS} off 
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 

RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 

RewriteRule ^privacy-policy - [env=NOINDEXFOLLOW:true] 
Header set X-Robots-Tag "noindex, follow" env=NOINDEXFOLLOW 

</IfModule> 

# END WordPress 

質問は明確にするため、フルのhtaccessファイルを含めるように編集されています。

答えて

1

www.domain/privacy-policy/

「プライバシーポリシー」あなたのディレクティブで使用されているように、URLパスではなく、クエリ文字列です。

RewriteEngine On 
RewriteRule ^privacy-policy - [env=NOINDEXFOLLOW:true] 

Header set X-Robots-Tag "noindex, follow" env=NOINDEXFOLLOW 

しかし、環境変数を設定する代わりにmod_rewriteをのmod_setenvifの使用することが好ましい:

SetEnvIf Request_URI "^/privacy-policy" NOINDEXFOLLOW 

UPDATEあなた.htaccessファイルの先頭付近、代わりに次のようなものを試してみてください。フロントコントローラー(WordPressディレクティブ)を使用しているので、環境変数を設定するRewriteRuleディレクティブは、.htaccessファイルの先頭、WP direc涙。 WPディレクティブの後にこのディレクティブを配置すると、単に処理されません。 (ご希望の場合SetEnvIfHeaderディレクティブは、ファイルの後半で表示されます。)

しかし、あなたはindex.phpにすべての要求をフロントコントローラを使用して書き換えされているので、NOINDEXFOLLOW変数が要求に設定されていませんあなたは見ている。 index.phpに書き換えた後、ApacheはこれをREDIRECT_NOINDEXFOLLOWREDIRECT_という接頭辞)に変更します。これはHeaderディレクティブで確認する必要があります。だから、要約で:

SetEnvIf Request_URI "^/privacy-policy" NOINDEXFOLLOW 
Header set X-Robots-Tag "noindex, follow" env=REDIRECT_NOINDEXFOLLOW 

(未それほど直感的。)

そして、あなたはNOINDEXFOLLOW環境変数を設定する代わりにRewriteRuleディレクティブを使用している場合、これはファイルの先頭に表示される必要があります。

+0

まだ一致していません – bondimedical

+0

上記の両方の方法を試しましたか? '.htaccess'ファイルに他のディレクティブがありますか? – MrWhite

+0

いずれの方法も機能しません。私は完全なhtaccessで質問を編集しました – bondimedical

関連する問題