web-dev-qa-db-ja.com

ドメインのTLDに続くファイル/ディレクトリにカスタムDNSを設定できますか(例:domain.com/robots.txt)?

ドメイン(特定のwww.domain.com/robots.txt)の特定のファイルに対して、ルート(www.domain.com)から別のDNSレコードを設定しようとしている状況です。

(状況は、私が 非ライブレコードを指すようにWebルートを設定する ですので、Webサイトは存在しないように見えますが、メールを許可するmxレコードがまだあります-しかし、私は今robots.txtが実際に稼働し、archive.orgなどのクローラーがアクセスできるようにして、サイトの過去のスナップショットを表示しないという希望を尊重する必要があることに気付きました。

DNSでこれを行うことは可能ですか(何らかの「TXT」レコードのように?)、または.comにすでに設定されているものとwww.domain.comに続くもののDNSを区別する方法はありませんか?

問題は、前述のリンク先の質問で説明したように、Webルートが存在しないサイトのようにしっかりと表示される必要があることです。 「偽の」存在しないページではなく、実際のページにすることができます。

おそらく、これら2つのことは単に互換性がないのでしょうか?

1
user26888

DNS Aレコードでは、特定のファイルにレコードを設定できません。ドメインのDNSは、すべてまたはなしです。

Robots.txtファイルを提供する必要がある場合は、DNSを有効なドメインに解決し、その要求に応答するWebサーバーが必要です。

私がお勧めするものは次のとおりです。

DNS

Www.domain.comがdomain.comを指すようにCNAMEをセットアップします。 domain.comがサーバーのIPアドレスを指すようにAレコードを設定します。

Webサーバー

サーバー(Apacheを想定)では、.htaccessを使用して、提供するファイルを制限できます。

Options +FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_URI} !/robots.txt [NC]
RewriteRule ^(.*) - [L,R=404]

これにより、/ robots.txtを除くすべてのページに対して404(または任意のコード)が返されます。

この方法では、robots.txtをホストできますが、他のページはホストできません。

410 Gone HTTP応答コードもありますが、ボットがどのように処理するかわかりません。

10.4.11 410消えた

要求されたリソースはサーバーで使用できなくなり、転送アドレスは不明です。この状態は永続的であると考えられます。リンク編集機能を持つクライアントは、ユーザーの承認後にRequest-URIへの参照を削除する必要があります。サーバーが条件が永続的であるかどうかを知らないか、判断する機能がない場合は、代わりにステータスコード404(Not Found)を使用する必要があります。特に指定がない限り、この応答はキャッシュ可能です。

410応答の主な目的は、リソースが意図的に利用できないことと、サーバー所有者がそのリソースへのリモートリンクを削除することを希望することを受信者に通知することにより、Webメンテナンスのタスクを支援することです。このようなイベントは、期間限定のプロモーションサービスや、サーバーのサイトで働いていない個人に属するリソースによく見られます。永久に利用できないすべてのリソースを「なくなった」とマークしたり、マークを任意の期間保持したりする必要はありません。これはサーバー所有者の裁量に任されています。

1
jeffatrackaid

あなたの質問は少しわかりにくいです。しかし、私は理解していると思います。私はいくつかの仮定をするつもりです。 1つは、Webサーバーが有効になっているが、Webサイトがないことです。

**更新:さて、コメントから、あなたの質問はまったく明確ではありません。私は答えをより完全なものに更新しています。

いいえ。DNSはドメインネームサービスの略です。ドメイン名をルーティング可能なIPアドレスに変換します。これ以上何もない。

空のサイトのスナップショットが必要ない場合は、robots.txtファイルは必要ありません。Webサーバーをオフにするだけです。オフにすることは、サービスを停止することを意味します。

Apacheのドキュメントは次のとおりです。

http://httpd.Apache.org/docs/2.2/en/stopping.html

これはマイクロソフトのページです(最新ではないかもしれません):

http://technet.Microsoft.com/en-us/library/cc732317(v = ws.10).aspx

これがやりたいことではない場合は、robots.txtをルートに置くだけで、wwwがmydomain.comにリダイレクトするか、mydomain.comがwwwにリダイレクトすることを確認してください。

# redirect root to www
RewriteCond %{HTTP_Host} ^mydomain\.com$ [NC]
RewriteRule ^(.*)$ http://www.mydomain.com/$1 [R=301,L]

Archive.orgは、ウェブサイトの所有者の希望を尊重するという非常に貧弱な仕事をしています。そのプロセスとポリシーには穴があります。たとえば、サイトが消えると、アーカイブスナップショットが再表示される可能性があります。同様に、archive.orgはwww.mydomain.comを介してrobots.txtを参照し、従うことができますが、vie mydomain.comを参照することはできません。 robots.txtがどちらの方法でも読み取れる場合でも、archive.orgはこれらを無視して、とにかくサイトのインデックスを作成できます。そうは言っても、すべての星が揃うと、archive.orgはrobots.txtファイルを読み取ってすべてのスナップショットをドロップできますが、数か月後に戻ってきます。

Www.mydomain.comとmydomain.comの両方からrobots.txtファイルにアクセスできることを確認してください。これは重要。ファイルを作成し、次のようにエントリを入力します。

User-agent: ia_archiver
Disallow: /

Www.mydomain.comおよびmydomain.comとしてサイトにアクセスできない場合は、DNSサーバーで次を確認してください。

IPアドレスをmydomain.comに関連付けるAレコードwww.mydomain.comをmydomain.comに関連付けるCNAMEレコード-または-IPアドレスをwww.mydomain.comに関連付けるAレコード

これでうまくいくと思います。必要に応じて更新できます。

0
closetnoc