web-dev-qa-db-fra.com

Redirection étrange vers la racine lorsque vous tentez d'accéder à un sous-domaine

Il y a ce problème étrange qui m'empêche de me demander ce qui se passe. Je m'excuse pour le manque de précision, mais je dois respecter une politique stricte NDA. Alors voici ma question:

Existe-t-il un moyen de déterminer la source de la redirection qui se produit lors de l'accès à un sous-domaine non existant d'un site Web que je gère?

Fondamentalement, http://oldsubdomain.example.com est en cours de redirection vers http://example.com. De plus, Google ne me permet pas de le supprimer (via la console de recherche) de sa base de données de recherche, en raison de cette redirection.

Malgré le fait que le sous-domaine - qui était en place il y a plusieurs ans - a été supprimé il y a quelques années et n'a pas été utilisé depuis, Google semble toujours de le mettre en cache. Cependant, le titre , ainsi que la description du résultat de la recherche Les extraits de code sont identiques au résultat du nom de domaine principal, c.-à-d. en recherchant http://oldsubdomain.example.com dans Google, le résultat est identique à celui obtenu lors de la recherche http://example.com.

Oui, j'ai effectué une recherche et je n'ai trouvé aucune directive dans .htaccess pouvant entraîner une telle redirection. Je me suis également assuré (en vérifiant dans les paramètres de sous-domaine cPanel) que le sous-domaine n'existait pas. Il n'y a également aucun enregistrement DNS lié à ce sous-domaine obsolète dans Cloudflare.

Pour résumer le tout, comment pourrais-je voir exactement ce qui cause la redirection? Je souhaite simplement le désactiver pour pouvoir demander à Google de supprimer le résultat de la recherche http://oldsubdomain.example.com.

1
GeekRider

Dans tous les cas, j'ai essayé de refuser l'accès à http://oldsubdomain.example.com via une directive .htaccess:

RewriteRule ^oldsubdomain.example.com - [F]

À ma grande surprise, pour une raison quelconque, la directive est ignorée. La raison pour laquelle cela ne fonctionne pas me laisse encore perplexe. Et par "ne fonctionne pas", je veux dire que la redirection se produit toujours, comme si la directive n'existait pas.

La RewriteRulemodèle correspond au chemin d'URL uniquement, pas au hôte. Pour correspondre à l'hôte, vous devez utiliser une directive RewriteCond et vérifier la variable de serveur HTTP_Host.

Par exemple:

RewriteCond %{HTTP_Host} ^oldsubdomain\. [NC]
RewriteRule ^ - [F]

Toutefois, il peut être préférable de renvoyer un "410 disparu" au lieu d'un "403 interdit" afin de le supprimer de Google. Dans ce cas, changez simplement [F] en [G] dans la RewriteRuleflags.

J'ai essentiellement une directive de redirection générique *.example.com basée sur DNS qui pointait vers le domaine racine.

Puisque vous ne semblez pas être au courant de ce sous-domaine générique, l'utilisez-vous réellement? Puis-je créer un lien vers anything.example.com et être redirigé?

2
MrWhite

Je dois m'excuser d'avoir posé cette question avant en m'assurant de ne pas négliger une chose aussi importante que la redirection de sous-domaine générique dans les paramètres DNS! Et je parle du DNS de l'hébergement, pas de Cloudflare.

Maintenant, tout est clair: j'ai essentiellement une directive de redirection générique *.example.com basée sur DNS qui pointait vers le domaine racine. Par conséquent, les requêtes à oldsubdomain (ou n’importe lequel autre, pour cela matière) en cours de transmission sur la page d’accueil.

Dans tous les cas, j'ai essayé de refuser l'accès à http://oldsubdomain.example.com via une directive .htaccess:

RewriteRule ^oldsubdomain.example.com - [F]

À ma grande surprise, pour une raison quelconque, la directive est ignorée. La raison pour laquelle cela ne fonctionne pas me laisse encore perplexe. Et par "ne fonctionne pas", je veux dire que la redirection se produit toujours, comme si la directive n'existait pas.

Maintenant, si seulement je savais comment exclure spécifiquement oldsdomdomain du caractère générique DNS, afin que je puisse toujours en refuser l'accès sans avoir à le recréer .

Des idées? :)

2
GeekRider

J'ai fini par demander au fournisseur d'hébergement de m'aider en ajoutant un enregistrement DNS de type A, c'est-à-dire oldsubdomain.example.com, mais ils ont décliné toute responsabilité, compte tenu du fait que le site Web utilise les services de Cloudflare. . Sur la base de la réponse du représentant de l'hébergement, j'ai créé un nouvel enregistrement DNS de type A dans la section DNS de Cloudflare, qui pointe vers l'adresse IP null .0.0., ce qui génère un potentiel HTTP demander à oldsubdomain.example.com d’échouer immédiatement, d’autant plus que la variable inexistante oldsubdomain ne sert absolument à rien pour le site Web.

Je ne suis pas sûr que mon approche soit la meilleure solution à long terme à mon problème initial, mais au moins cela fonctionne parfaitement - j'ai pu effectuer avec succès une demande de suppression d'URL sous Google Search Console - et cela ne semble pas être le cas. causer des problèmes.

Merci à tous pour votre contribution utile!

1
GeekRider