Назад | Перейти на главную страницу

Можно ли указать поддомен с подстановочными знаками на домен верхнего уровня через настройки DNS?

Можно ли указать поддомены с подстановочными знаками на домен верхнего уровня только через настройки DNS?

Я хочу, чтобы * .mydomain.com был перенаправлен на mydomain.com.

mydomain.com размещен на третьей службе. У меня нет доступа ни к одному из файлов конфигурации apache моего сайта.

Спасибо, Малькольм

На техническом уровне DNS вы можете иметь:

*.example.com. IN CNAME example.com.

Хотя лучшая конфигурация была бы:

$ORIGIN example.com.
@      IN SOA ( ... )
       IN A n.n.n.n     ; put your server IP here
www    IN A n.n.n.n     ; and here
*      IN CNAME www

Это гарантирует, что люди будут искать SOA или MX записи о foo.example.com не получайте неожиданного ответа.

Однако, если ваш веб-сервер не настроен для ожидания имен хостов с подстановочными знаками, которые люди начинают использовать для указания, они просто получат страницы с ошибками.

Для этого вам понадобится что-то вроде:

<VirtualHost .....>
ServerName wwww.example.com
ServerAlias example.com
ServerAlias *.example.com

</VirtualHost>

и это имеет быть в основном конфиге, а не в .htaccess файл.

В качестве альтернативы, если намерение состоит в том, чтобы все поддомены с подстановочными знаками оказывались на одном сайте, используйте перенаправление на уровне HTTP, чтобы все URL-адреса в конечном итоге перенаправлялись клиентом на предпочтительный канонический URL-адрес (например, либо www или без префикса)

Предполагая, что вы можете в обязательном порядке установить подстановочный знак (* .example.com) в DNS в своем домене (если нет, вы можете переместить свой домен, например, в службу freedns).

Служба DNS только переводит домен в IP, я не связан ни с одной службой (http, ftp, smtp), поэтому он не может перенаправить HTTP-запрос с одного домена на другой.

Но вы можете:

  1. Укажите * .example.com на другой веб-сервер / http-сервер, который поддерживает подстановочный знак http и перенаправление.
  2. Обратитесь к поставщику услуг http, чтобы настроить подстановочный знак на своем сервере.

Кроме того, большинство популярных / используемых панелей управления (cPanel, DirectAdmin, ...) поддерживают подстановочные знаки, поэтому, возможно, вы можете настроить это самостоятельно.

Если ваш провайдер DNS поддерживает подстановочные знаки CNAME, это должно сработать. Видеть Вопрос 44618