Если у меня есть следующие записи в 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.
(Примечание: я только что обновил DNS для своего сайта около 15 минут назад, поэтому, возможно, изменения еще не распространились.)
Они должны видеть любой адрес, который они вводят, если вы не настроили какое-либо перенаправление на веб-сервере.
Кроме того, похоже, что либо вы не обновили файл зоны правильно, либо он еще не распространился, поскольку 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-адреса, они не влияют друг на друга.
Если вы хотите это сделать, вот что я делаю в конфигурациях Apache 2 для перенаправления с одного на другой:
<VirtualHost *:80>
ServerName www.waywardgypsy.com
RedirectMatch permanent /(.*) http://waywardgypsy.com/$1
</VirtualHost>
Вы правильно настроили DNS. Часть «www» в URL-адресе не должна быть обязательной, поэтому и «benmccormack.com», и «www.benmccormack.com» должны относиться к одному и тому же веб-серверу. Так оно и должно быть.
Если вы хотите перенаправить все запросы в форму без www, добавьте это в Apache conf. файл
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]