2008-08-19 2 views
39

У меня есть 2 хостов, и я хотел бы указать субдомен на хосте одного субдомена на хосте два:Как перенаправить SiteA к SITEB с записями A или CNAME

subdomain.hostone.com --> subdomain.hosttwo.com 

я добавил запись CNAME для размещения тот, который указывает на subdomain.hosttwo.com, но все, что я получаю, это «400 Неверный запрос« Ошибка.

Может ли кто-нибудь увидеть, что я делаю неправильно?

+11

Я не вижу, что это не в тему. Конфигурация DNS находится в сфере программирования. – superluminary 2013-09-18 16:05:11

+20

@superluminary: «offtopic» означает, что мода не знает поля, или имел плохой день волос, или хотел получить значок для закрытия билета. В этом случае вопрос лучше подходит для ServerFault IMHO, поэтому его нужно было перенести, а не закрыть. – SamGoody 2013-11-06 07:54:01

+0

Не могу согласиться больше, этот пост должен быть вновь открыт или перенесен, конфигурация DNS - это то, что пересекает обе области. – 2017-10-05 17:31:34

ответ

13

Попробуйте изменить его «поддомен -> subdomain.hosttwo.com»

CNAME является псевдонимом для определенного домена, поэтому, когда вы идете к панели управления для hostone.com, вы не должны иметь для ввода всего имени в псевдоним CNAME.

Что касается ошибки, которую вы получаете, можете ли вы зарегистрироваться на subdomain.hostwo.com и проверить журналы?

2

Похоже, что веб-сервер на hosttwo.com не позволяет передавать неопределенные домены. Вы также сказали, что хотите сделать перенаправление, это на самом деле не метод перенаправления. Если вы купили этот домен через GoDaddy, вы можете просто использовать их службу перенаправления.

+0

или изменить хост :) – Eoin 2017-04-12 12:11:58

0

Возможно, лучше всего/проще всего установить 301 redirect. Нет необходимости в хакерстве DNS.

0

Вы можете сделать только DNS-адрес pont для другого IP-адреса, поэтому если вы используете виртуальные хосты, перенаправление с DNS не будет работать.

Когда вы вводите subdomain.hostone.com в своем браузере, он будет использовать DNS для получения его IP-адреса (если это CNAME, он будет продолжать попытки, пока не получит IP-адрес от записи A), то он подключится к этому IP-адресу и отправит http-запрос с

Host: subdomain.hostone.com

где-то в заголовках http.

0

Вы можете сделать это несколькими способами, отличными от DNS. Целевая страница на subdomain.hostone.com может иметь HTTP redirect. Веб-сервер на hostone.com может быть настроен на перенаправление (легко в Apache, не уверен в IIS) и т. Д.

11

Я думаю, что несколько ответов затронули возможное решение вашей проблемы.

Я согласен, что самое легкое (и лучшее решение для целей SEO) - это 301 переадресация. В IIS это довольно тривиально, вы создали бы сайт для subdomain.hostone.com, после создания сайта, щелкните правой кнопкой мыши на сайте и перейдите в свойства. Перейдите на вкладку «Домашний каталог» в открывшемся окне свойств сайта. Выберите радиокнопку «Перенаправление на URL», введите URL-адрес нового сайта (http://subdomain.hosttwo.com) и установите флажки для «Точный URL, указанный выше», «Постоянное перенаправление для этого ресурса» (этот второй флажок вызывает 301 перенаправить, а не перенаправить 302). Нажмите «ОК», и все готово.

Или вы можете создать страницу на сайте http://subdomain.hostone.com, используя один из следующих способов (в зависимости от того, что поддерживает платформу хостинга)

PHP Перенаправление:


<? 
Header("HTTP/1.1 301 Moved Permanently"); 
Header("Location: http://subdomain.hosttwo.com"); 
?> 

ASP Redirect:


<%@ Language=VBScript %> 
<% 
Response.Status="301 Moved Permanently" 
Response.AddHeader "Location","http://subdomain.hosttwo.com" 
%> 

ASP .NET Перенаправление:


<script runat="server"> 
private void Page_Load(object sender, System.EventArgs e) 
{ 
Response.Status = "301 Moved Permanently"; 
Response.AddHeader("Location","http://subdomain.hosttwo.com"); 
} 
</script> 

Теперь, если ваша запись CNAME правильно создана, единственная проблема, с которой вы столкнулись, заключается в том, что сайт, созданный для http://subdomain.hosttwo.com, использует общий IP-адрес и заголовки хостов для определения того, какой сайт должен отображаться. Чтобы решить эту проблему в IIS, в диспетчере IIS на веб-сервере, щелкните правой кнопкой мыши на сайте для subdomain.hosttwo.com и нажмите «Свойства». На вкладке «Веб-сайт» вы увидите кнопку «Дополнительно» рядом с IP-адресом, который вам нужно щелкнуть. В появившемся окне «Расширенный идентификатор веб-сайта» нажмите «Добавить». Выберите тот же IP-адрес, который уже используется subdomain.hosttwo.com, введите 80 в качестве TCP-порта, а затем введите subdomain.hosttwo.com в качестве значения заголовка хоста. Нажмите «ОК», пока вы не вернетесь в главное окно диспетчера IIS, и вам должно быть хорошо идти. Откройте браузер и перейдите к http://subdomain.hostone.com, и вы увидите сайт на http://subdomain.hosttwo.com появляются, даже если ваш URL показывает http://subdomain.hostone.com

Надежда, которая помогает ...

2

В эти дни, многие владельцы сайтов используют услуги CDN который извлекает данные с сервера CDN. Если это ваш случай, то вам остается два варианта:

  1. Создать поддомен и редактировать DNS путем добавления записи CNAME

  2. Не создать поддомен, но только создать запись CNAME, указывающую обратно ваш временный URL-адрес DNS.

Это решение подразумевает только вытягивать код из CDN, которая покажет, что это извлечение данных из cdn.sitename.com, но практически его вытягивать из вашего хоста CDN.

Смежные вопросы