Redirection robots.txt pour

Résolu/Fermé
laetitia.cham Messages postés 8 Date d'inscription jeudi 7 novembre 2013 Statut Membre Dernière intervention 18 novembre 2013 - 7 nov. 2013 à 09:59
bg62 Messages postés 23664 Date d'inscription samedi 22 octobre 2005 Statut Modérateur Dernière intervention 17 décembre 2024 - 18 nov. 2013 à 12:04
Bonjour,

Je suis actuellement en train de travailler sur un de mes noms de domaine, et j'aimerais lui attribuer un robots.txt qui lui est propre (qui désactive toutes les pages du site pour le moment). Pour qu'il n'aille pas chercher le robots.txt des autres domaines, je cherche donc à faire une redirection du fichiers robot.txt
Seulement, cela n'a pas l'air de marcher. Google me ressort toujours le robots.txt général.

Voici le code que j'ai inséré dans mon .htaccess

RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.nom-site.com$
RewriteRule ^robots\.txt$ robots-site.txt

Le code de mon robots-site.txt

User-agent: *
Disallow: /

Ai-je fait une erreur de syntaxe ? Sur internet, je trouve de tout, ce n'est jamais pareil nulle part...
Et dois-je mettre le code du .htaccess dans la balise <IfModule mod_rewrite.c> ou en dehors ? Si oui et que "RewriteEngine on" y est déjà renseigné pour d'autres arguments, dois-je le réécrire ?

Et il y a t-il un moyen de vérifier directement si ça marche, au lieu d'attendre Googlebot ? En allant à mon adresse www.nom-site.com/robots.txt, la redirection devrait-elle se faire toute seule ?

En vous remerciant.

12 réponses

bg62 Messages postés 23664 Date d'inscription samedi 22 octobre 2005 Statut Modérateur Dernière intervention 17 décembre 2024 2 392
7 nov. 2013 à 10:43
pourquoi chercher des redirections dans un fichier txt alors que tout se passe via le .htaccess ???
et pour tester suffit de voir en ligne ;)
0
laetitia.cham Messages postés 8 Date d'inscription jeudi 7 novembre 2013 Statut Membre Dernière intervention 18 novembre 2013
7 nov. 2013 à 10:50
Hé bien je me suis fiée à ce site (et à d'autres)
http://robots-txt.com/ressources/robots-txt-sous-domaine/

qui explique comment définir un robots.txt particulier à un nom de domaine, et que ça se passe dans le .htaccess

N'est-ce pas la bonne méthode ?

Et que dois-je voir en ligne ?
0
bg62 Messages postés 23664 Date d'inscription samedi 22 octobre 2005 Statut Modérateur Dernière intervention 17 décembre 2024 2 392
7 nov. 2013 à 20:22
je ne pense pas que tu aies tout bien compris sur cette page, ce sont des indications pour renseigner les fichiers pas pour 'mettre en place"', sauf ce que l'on te donne pour le .htaccess ...
des explications sur ce fichier ???
https://forums.commentcamarche.net/forum/affich-37584840-robots-txt-un-fichier-important
https://forums.commentcamarche.net/forum/affich-37584857-proteger-un-site-web-en-construction
:)
de plus ce site n'est pas tip top ....
la référence est surtout :
https://www.robotstxt.org/
0
laetitia.cham Messages postés 8 Date d'inscription jeudi 7 novembre 2013 Statut Membre Dernière intervention 18 novembre 2013
12 nov. 2013 à 09:19
.. comme je l'ai dit plus haut, on a plusieurs noms de domaine gérés sous la même installation Drupal, même thème etc. on a donc déjà un robots.txt général, avec tout défini dedans.

Je voudrais seulement spécifier que pour UN nom de domaine en particulier, le robot ne DOIT PAS du tout passer dedans. C'est pour cela que mon supérieur m'a dit que la piste à suivre était de créer un autre robots.txt POUR ce nom de domaine, il m'en faut donc bien un 2e, non..?

Et si oui, je dois bien lui dire quelque part que si mon nom de domaine est égal à celui que je lui ai renseigné, alors se reporter à l'autre robots.txt
0
bg62 Messages postés 23664 Date d'inscription samedi 22 octobre 2005 Statut Modérateur Dernière intervention 17 décembre 2024 2 392
14 nov. 2013 à 20:30
dernière réponse :
mets alors des 'nofollow' ET 'noindex' dans le thème du fichier du site que tu ne veux pas voir indexé .....
si tu ne veux pas l'interdire par .htaccess ...
là je craque, moi ....:)
0
laetitia.cham Messages postés 8 Date d'inscription jeudi 7 novembre 2013 Statut Membre Dernière intervention 18 novembre 2013
18 nov. 2013 à 09:21
c'est pas que je ne veux pas c'est que je ne suis pas assez calée sur le sujet pour savoir comment faire, de même pour le mettre dans le thème, qui est commun à tout le monde

mais bon c'est pas grave j'abandonne aussi je verrai bien le prochain passage de google avec le robots.php puisque la redirection vers un 2e robots.txt dans le htaccess ne semblait pas avoir marché

merci quand même
0
bg62 Messages postés 23664 Date d'inscription samedi 22 octobre 2005 Statut Modérateur Dernière intervention 17 décembre 2024 2 392
18 nov. 2013 à 12:04
robots.php n'existe pas pour GG ^^^:)
si vraiment 'gros problèmes', mais 'VRAIMENT' = MP
@+
0
skywebfr Messages postés 11 Date d'inscription jeudi 7 novembre 2013 Statut Membre Dernière intervention 12 novembre 2013 21
Modifié par skywebfr le 7/11/2013 à 10:52
Bonjour
Je suppose que tu as plusieurs domaines qui ont un répertoire root (document_root) en commun.
Ce que tu pourrais faire, c'est générer le robot.txt en PHP qui lui génère le contenu en fonction du domaine.

Exemple du fichier htaccess
RewriteEngine on
RewriteRule ^robots\.txt$ /robots\.php [L]

Exemple du fichier robots.php
<?php
if(!empty($_SERVER['HTTP_HOST']) && $_SERVER['HTTP_HOST'] == 'tondomaine.com'){
echo 'User-agent: *'."\n";
echo 'Disallow: / ';
}
?>

De cette manière, plus la peine de faire des redirections compliqués.
0
laetitia.cham Messages postés 8 Date d'inscription jeudi 7 novembre 2013 Statut Membre Dernière intervention 18 novembre 2013
Modifié par laetitia.cham le 7/11/2013 à 11:28
Bonjour,

Merci pour votre réponse.

En fait oui, tous mes domaines sont hébergés sur OVH, reliés à Drupal et utilisent le même template, etc

J'ai modifié mon .htaccess et créé un robots.php avec vos codes, en remplaçant par mon nom de domaine (d'ailleurs dois-je mettre les "www" devant mon nom de domaine ou est-ce sans importance ?).

Comment puis-je voir directement si l'exception s'applique bien ?
Car quand je me rends sur www.mon-site.com/robots.txt, je ne suis pas redirigées vers le robots.php

Merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
skywebfr Messages postés 11 Date d'inscription jeudi 7 novembre 2013 Statut Membre Dernière intervention 12 novembre 2013 21
Modifié par skywebfr le 7/11/2013 à 14:27
Bonjour
Ce n'est pas une redirection ici.
robots.txt affichera le contenu de robots.php

Plus d'information sur les .htaccess ici ainsi que l'url rewriting :
https://g-rossolini.developpez.com/tutoriels/seo/reecriture-url/

Dans le cas de figure actuelle, imaginons le domaine www.unsiteweb.fr et blog.unsiteweb.fr
Le code PHP deviendra :

<?php
if(!empty($_SERVER['HTTP_HOST']) && $_SERVER['HTTP_HOST'] == 'blog.unsiteweb.fr'){
echo 'User-agent: *'."\n";
echo 'Disallow: / ';
}
?>

Le www est IMPORTANT (rectification).

On test le robots.txt en allant voir la page :
blog.unsiteweb.fr/robots.txt
et
www.unsiteweb.fr/robots.txt
0
skywebfr Messages postés 11 Date d'inscription jeudi 7 novembre 2013 Statut Membre Dernière intervention 12 novembre 2013 21
7 nov. 2013 à 14:28
Mise à jours de mon précédent message: le www EST important !
0
laetitia.cham Messages postés 8 Date d'inscription jeudi 7 novembre 2013 Statut Membre Dernière intervention 18 novembre 2013
7 nov. 2013 à 16:46
Si je comprends bien, le bot n'entrera donc plus sur mon robots.txt mais sur le robots.php, qui, lui, devra contenir les règles pour TOUS mes sites + l'exception voulue pour le site dont je veux cacher les pages, c'est bien cela ?

Du coup, dois-je toujours garder mon robots.txt ? Et que doit-il contenir si tout se trouve dans le robots.php ?

Aussi, quand je teste mon robots.txt dans le navigateur, il m'affiche toujours l'ancien, et non le php.. :(
0
skywebfr Messages postés 11 Date d'inscription jeudi 7 novembre 2013 Statut Membre Dernière intervention 12 novembre 2013 21
Modifié par skywebfr le 7/11/2013 à 20:00
Il faut gérer plusieurs domaines, mon code est juste un exemple.
Par exemple, voici le code pour plusieurs domaines :
<?php
$host = $_SERVER['HTTP_HOST'];

switch($host){
case 'blog.unsiteweb.fr':
echo 'User-agent: *'."\n";
echo 'Disallow: / ';
break;

case 'www.unsiteweb.fr':
echo 'User-agent: *'."\n";
echo 'Disallow: /cg-bin/ ';
break;

case 'www.unautresupersite.com':
// contenu vide ...
break;

// etc...
}
?>

EDIT : Il n'est plus nécessaire d'avoir le fichier robots.txt car c'est le robots.php qui le remplace.
0
laetitia.cham Messages postés 8 Date d'inscription jeudi 7 novembre 2013 Statut Membre Dernière intervention 18 novembre 2013
Modifié par laetitia.cham le 8/11/2013 à 09:36
Merci pour votre réponse.

Aïe du PHP, je ne connais pas bien ce langage.. ^^'

Si tout le reste est pareil pour tous les domaines, je suppose que je n'ai pas besoin du switch case ni de la valeur $host.

Voilà, donc pour résumer, j'ai

RewriteEngine on
RewriteRule ^robots\.txt$ /robots\.php [L]

dans mon htaccess (hors balises <IfModule>), et mon robots.php ainsi :

<?php
if(!empty($_SERVER['HTTP_HOST']) && $_SERVER['HTTP_HOST'] == 'www.mon-site.com'){
echo 'User-agent: *'."\n";
echo 'Disallow: / ';
}
?>

<?php
echo 'User-agent: *'."\n";
echo 'Disallow: /includes/ '."\n";
echo 'Disallow: /misc/ '."\n";
...
?>

Pas d'erreur ? Comment voir si ça fonctionne ?

Merci
0
bg62 Messages postés 23664 Date d'inscription samedi 22 octobre 2005 Statut Modérateur Dernière intervention 17 décembre 2024 2 392
8 nov. 2013 à 10:27
non ce n'est pas du PHP .... :)
et c'est quoi encore ce 'robot.php' ???
pour voir et ester suffit de le mettre en ligne ...
0
laetitia.cham Messages postés 8 Date d'inscription jeudi 7 novembre 2013 Statut Membre Dernière intervention 18 novembre 2013
Modifié par laetitia.cham le 8/11/2013 à 15:00
Pour le robots.php, je teste la solution de skywwebfr (messages plus haut)...

Pourquoi dire que tout se passe dans le htaccess ? On peut y indiquer directement aux robots de ne passer dans aucune page d'un nom de domaine spécifique ? Si oui, alors je veux bien savoir comment car je débute un peu dans le sujet... :-/

Et pour le test, je ne vois pas où ça me dit que les robots ne passent plus dans les pages, comme je le lui ai indiqué. A part attendre qu'il repasse pour voir via Google Webmaster Tool.. mais il faut attendre.. :/
0
bg62 Messages postés 23664 Date d'inscription samedi 22 octobre 2005 Statut Modérateur Dernière intervention 17 décembre 2024 2 392
8 nov. 2013 à 20:16
" indiquer directement aux robots de ne passer dans aucune page d'un nom de domaine spécifique ? " oui mais pas pour faire une redirection ....
je t'ai déjà mis les liens nécessaires :
https://forums.commentcamarche.net/forum/affich-37584840-robots-txt-un-fichier-important
etc etc ....
prends le temps de les lire :)
0