2017-05-07 3 views
1

J'ai une page de politique de confidentialité sur mon site Web www.domain/privacy-policy/que je voudrais noindex avec le Tag X Robots. J'ai essayé le code suivant mais il ne correspond pasX Robots Tag Noindex page spécifique

# 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 

La question a été modifiée pour inclure le fichier htaccess complet pour plus de clarté.

Répondre

1

www.domain/privacy-policy/

"vie privée-politique" est dans le chemin d'URL, pas la chaîne de requête, que vous avez utilisé dans votre directive. Essayez quelque chose comme à la place, près du haut de votre fichier .htaccess:

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

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

Cependant, il serait préférable d'utiliser mod_setenvif au lieu de mod_rewrite pour définir la variable d'environnement:

SetEnvIf Request_URI "^/privacy-policy" NOINDEXFOLLOW 

MISE À JOUR: Étant donné que vous utilisez un contrôleur frontal (directives WordPress), la directive RewriteRule pour définir la variable d'environnement doit être placée en haut de votre fichier .htaccess, avant la direc tives. En positionnant cette directive après les directives WP, elle n'est tout simplement pas traitée. (Les SetEnvIf et Header directives peuvent apparaître plus tard dans le fichier si vous le souhaitez.)

Cependant, puisque vous utilisez un front contrôleur et réécriture toutes les demandes de index.php, la variable NOINDEXFOLLOW n'est pas défini dans la demande tu vois. Après la réécriture à index.php Apache change cela à REDIRECT_NOINDEXFOLLOW (préfixe REDIRECT_) et c'est ce que vous devez vérifier dans la directive Header. Donc, en résumé:

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

(. Pas tout à fait si intuitif)

Et si vous utilisez la directive RewriteRule au lieu de définir la variable d'environnement NOINDEXFOLLOW cela doit apparaître au début du fichier.

+0

Il ne correspond toujours pas – bondimedical

+0

Avez-vous essayé les deux méthodes ci-dessus? Avez-vous d'autres directives dans votre fichier '.htaccess'? – MrWhite

+0

Aucune méthode ne fonctionne. J'ai édité la question avec htaccess complet – bondimedical