DNSに次のレコードがある場合:
hostname Record Type address
benmccormack.com A 216.10.244.61
www.benmccormack.com CNAME benmccormack.com
ユーザーが入力したときにブラウザのアドレスバーに何が表示されることを期待する必要がありますか http://benmccormack.com ? http://www.benmccormack.com はどうですか?アドレスバーに http://www.benmccormack.com が http://benmccormack.com に変わることを期待していましたが、おそらく私はどのようにCNAMEレコードは機能するはずです。
(注:約15分前にサイトのDNSを更新したばかりなので、変更がまだ反映されていない可能性があります。)
Webサーバーで何らかのリダイレクトを設定していない限り、入力したアドレスはすべて表示されます。
また、www.benmccormack.comがAレコードとして戻ってきたため、ゾーンファイルを正しく更新しなかったか、まだ伝播していないようです。
$ Dig www.benmccormack.com
; <<>> Dig 9.6.0-Apple-P2 <<>> www.benmccormack.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 809
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;www.benmccormack.com. IN A
;; ANSWER SECTION:
www.benmccormack.com. 3600 IN A 216.10.244.61
CNAMEはDNSのものであり、URLはブラウザのものです。 DNSを使用してURLホスト名フィールドの名前を検索する以外は、この2つは実際には互いに影響しません。
これを実行したい場合は、Apache2の構成で1つから別の構成にリダイレクトする方法を次に示します。
<VirtualHost *:80>
ServerName www.waywardgypsy.com
RedirectMatch permanent /(.*) http://waywardgypsy.com/$1
</VirtualHost>
DNSを正しく設定しました。 URLの「www」の部分は必須ではないため、「benmccormack.com」と「www.benmccormack.com」の両方が同じWebサーバーに解決される必要があります。それが意図された方法です。
すべてのリクエストをwww以外のフォームにリダイレクトする場合は、これをApacheconfに追加します。ファイル
RewriteEngine On
RewriteCond %{HTTP_Host} ^www\.(.+)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]