web-dev-qa-db-ja.com

サブドメインにアクセスしようとすると、ルートへの奇妙なリダイレクト

この奇妙な問題があり、私は何が起こっているのだろうと思い続けています。特異性がないことをおaびしますが、厳密なNDAポリシーを順守する必要があります。だからここに私の質問があります:

ウェブサイトのもう存在しないサブドメインにアクセスするときに発生しているリダイレクトのソースを特定する方法はありますか私が管理していますか?

基本的に、http://oldsubdomain.example.comhttp://example.comにリダイレクトされます。さらに、このリダイレクトのために、Googleは(Search Consoleを介して)検索データベースから削除することを許可していません。

サブドメイン(以前は年前に存在していた)が数年前のある時点で削除されて以来使用されていないという事実にもかかわらず、Googleはまだそれをキャッシュしているようです。ただし、titleおよび検索結果スニペットのdescriptionは、メインドメイン名の結果と同じです。つまり、 http://oldsubdomain.example.comをグーグル検索すると、http://example.comを検索したときとまったく同じ結果が得られます。

はい、検索しましたが、.htaccessでそのようなリダイレクトを引き起こす可能性のあるディレクティブを見つけることができませんでした。また、サブドメインが存在しないことを確認しました。 Cloudflareの廃止されたサブドメインに関連するDNSレコードなしもあります。

まとめると、リダイレクトの原因を正確に確認するにはどうすればよいですか? http://oldsubdomain.example.com検索結果を削除するようGoogleに依頼できるように、無効にするだけです。

1
GeekRider

いずれにしても、.htaccessディレクティブを使用してhttp://oldsubdomain.example.comへのアクセスを拒否しようとしました。

RewriteRule ^oldsubdomain.example.com - [F]

驚いたことに、何らかの理由でディレクティブは無視されます。うまくいかない理由は、今でも私を困惑させています。 「機能しない」とは、ディレクティブが存在しないかのように、リダイレクトがまだ発生することを意味します。

RewriteRulepatternはURLパスのみと一致し、Hostとは一致しません。ホストに一致させるには、RewriteCondディレクティブを使用し、HTTP_Hostサーバー変数と照合する必要があります。

例えば:

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

ただし、これをGoogleから削除するには、「403 Forbidden」ではなく「410 Gone」を返すことをお勧めします。その場合、RewriteRuleflags[F][G]に変更するだけです。

基本的に、ルートドメインを指すDNSベースの*.example.comワイルドカードリダイレクトディレクティブがあります。

このワイルドカードサブドメインを認識していないように見えたので、実際に使用していますか? anything.example.comにリンクしてリダイレクトできますか?

2
MrWhite

DNS設定でのワイルドカードサブドメインリダイレクトなどの重要なことを見落とさないように、この質問beforeをおかけしたことをおforびしなければなりません!そして、私はCloudflareのDNSではなく、ホスティングのDNSについて話している。

これですべてが明確になりました。基本的に、ルートドメインを指すDNSベースの*.example.comワイルドカードリダイレクトディレクティブがあります。したがって、oldsubdomain(またはany他のものへのリクエスト)問題)ホームページに転送されます。

いずれにしても、.htaccessディレクティブを使用して http://oldsubdomain.example.com へのアクセスを拒否しようとしました。

RewriteRule ^oldsubdomain.example.com - [F]

驚いたことに、何らかの理由でディレクティブは無視されます。うまくいかない理由は、今でも私を困惑させています。 「機能しない」とは、ディレクティブが存在しないかのように、リダイレクトがまだ発生することを意味します。

今では、DNSサブカードから特にoldsubdomainを除外する方法を知っていれば、再作成せずにアクセスを拒否できます

何か案は? :)

2
GeekRider

特定のA-type DNSレコード、つまりoldsubdomain.example.comを追加することでホスティングプロバイダーに助けを求めることになりましたが、ウェブサイトがCloudflareのサービスを使用しているという事実を考慮して、彼らは責任を拒否しました。ホスティング担当者の応答に基づいて、CloudflareのDNSセクション内に新しいAタイプのDNSレコードを作成しました。これはnull .0.0. IPアドレスを指し、潜在的なHTTPを引き起こしますoldsubdomain.example.comへのリクエストはすぐに失敗します。特に、存在しないoldsubdomainはWebサイトにまったく役に立たないためです。

私のアプローチが最初の問題に対する最良の長期的な解決策であるかどうかはわかりませんが、少なくとも完全に機能します-Google Search ConsoleでURL削除リクエストを正常に実行できたため、問題を引き起こします。

有益な情報をありがとうございました!

1
GeekRider