Vous pouvez réécrire robots.txt
à un autre fichier (nommons ce 'robots_no.txt' contenant:
User-Agent: *
Disallow:/
(source: http://www.robotstxt.org/robotstxt.html)
Le fichier .htaccess regarderait comme ceci:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www.example.com$
RewriteRule ^robots.txt$ robots_no.txt
Utilisez customiz ed robots.txt pour chaque (sous) domaine:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.example.com$ [OR]
RewriteCond %{HTTP_HOST} ^sub.example.com$ [OR]
RewriteCond %{HTTP_HOST} ^example.com$ [OR]
RewriteCond %{HTTP_HOST} ^www.example.org$ [OR]
RewriteCond %{HTTP_HOST} ^example.org$
# Rewrites the above (sub)domains <domain> to robots_<domain>.txt
# example.org -> robots_example.org.txt
RewriteRule ^robots.txt$ robots_${HTTP_HOST}.txt [L]
# in all other cases, use default 'robots.txt'
RewriteRule ^robots.txt$ - [L]
Au lieu de demander des moteurs de recherche pour bloquer toutes les pages pour les pages autres que www.example.com
, vous pouvez utiliser <link rel="canonical">
aussi.
Si http://example.com/page.html
et http://example.org/~example/page.html
les deux vers http://www.example.com/page.html
, mettre la balise suivante du <head>
:
<link rel="canonical" href="http://www.example.com/page.html">
Voir aussi Googles article about rel="canonical"
Lekensteyn, qui semble bon. Cependant, j'avais un petit doute. Est-il possible d'allouer différents fichiers robots.txt en fonction de l'URL. Je n'ai pas réussi à trouver une telle règle. Si vous pouviez me diriger vers ces tuts, ce serait utile .. merci .. –
Qu'avez-vous voulu dire par 'basé sur url'? Si vous vouliez dire 'domaine', regardez l'exemple ci-dessus. Guide de réécriture: http://httpd.apache.org/docs/current/rewrite/rewrite_intro.html. Une autre façon d'obtenir différents robots.txt pour chaque domaine est d'utiliser un serveur de script, par exemple PHP. – Lekensteyn
gotchas .. merci ..! –