Как перенаправить сайт A на сайт B с записями A или CNAME [закрыто]

StackOverflow https://stackoverflow.com/questions/16298

  •  08-06-2019
  •  | 
  •  

Вопрос

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

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

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

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

Это было полезно?

Решение

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

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

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

Другие советы

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

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

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

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


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

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


<%@ 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://субдомен.hostone.com, и вы увидите сайт по адресу http://subdomain.hosttwo.com появляются, даже если ваш URL-адрес показывает http://субдомен.hostone.com

Надеюсь, это поможет...

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

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

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

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

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

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

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

Host: subdomain.hostone.com 

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top