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

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

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

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

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

19.08.2008 14:42:29
Я не вижу, что это не по теме. Конфигурация DNS находится в сфере программирования.
superluminary 18.09.2013 16:05:11
@superluminary: «оффтоп» означает, что мод не знает поле, или у него был плохой день, или он хотел получить значок для закрытия билета. В этом случае вопрос лучше подходит для ServerFault IMHO, поэтому его следовало перенести, а не закрыть.
SamGoody 6.11.2013 07:54:01
Не могу согласиться, этот пост должен быть открыт заново или перенесен, DNS-конфигурация охватывает обе области.
Ben Personick 5.10.2017 17:31:34
7 ОТВЕТОВ
РЕШЕНИЕ

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

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

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

13
28.11.2015 17:56:08
чем отличается от обычного перенаправления URI и перенаправления CNAME?
Elankeeran 9.04.2012 17:59:15
К перенаправлению @Elankeeran URL может быть добавлен путь - CNAMES может состоять только из полных доменов. например. URL Перенаправить поддомен (например, www) в <Protocol> <[SubDomain.] Domain.TLD> [/ Path [/ ...]] (например https://www.example.com/sites/xyz), где в качестве субдомена CNAME (например, www) в <[SubDoman.] Domain.TLD > (например ghs.google.com)
Ujjwal Singh 17.10.2012 12:07:01
CNAME - это псевдоним для записи A или AAAA, которая никогда не может быть доменом, но , для краткости, всегда является именем в домене или доменном имени.
Markus W Mahlberg 28.11.2015 18:00:50
@MarkusWMahlberg Вы добавили мои предлагаемые правки под своим cname!!
alifornia 29.11.2015 05:46:33
@AliAbbasinasab как-то улучшил ваше редактирование во время просмотра. В конце концов, речь идет о редактировании, не так ли?
Markus W Mahlberg 29.11.2015 09:36:01

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

2
19.08.2008 14:45:07
или смени хозяина :)
Eoin 12.04.2017 12:11:58

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

0
19.08.2008 14:46:09

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

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

Хост: subdomain.hostone.com 

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

1
19.08.2008 14:50:47

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

0
19.08.2008 14:50:48

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

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

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

PHP Redirect:


<?
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 Redirect:


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

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

11
19.08.2008 17:57:10
Я уверен, что функция заголовка PHP (все строчные).
Austin Adams 6.07.2011 14:29:31
@UncleNinja: Хотя PHP определяет функцию header () как все строчные буквы (и именно так это должно использоваться в коде), язык PHP не чувствителен к регистру в этом отношении, поэтому Header()все равно будет работать нормально.
MrWhite 21.05.2012 09:42:38
Не забудьте добавить apacheправило перенаправления Redirect 301 / http://example.com/. Можно использовать .htaccessдля этого.
hitautodestruct 23.12.2013 14:55:14
@ w3d То, что это сработает, вовсе не означает, что рекомендуется писать плохой код, который не соответствует стандартам. Из руководства по PHP : «Примечание: имена функций не чувствительны к регистру, хотя обычно полезно вызывать функции так, как они появляются в их объявлении». Я не знаю ни одного даже отдаленно опытного разработчика , который бы написать эту функцию в качестве Header(), так как она будет определена как header(). Тот факт, что PHP позволяет писать без учета регистра, является другим обсуждением.
BadHorsie 7.01.2016 17:43:03
@ BadHorsie Да, я согласен. Вот что, как я думал, я сказал: «PHP определяет функцию header () как все строчные буквы (и именно так это должно использоваться в коде)». Я просто сказал, что это будет «работать», так как предыдущий комментарий, казалось, подразумевал, что это не может. При проверке кода полезно иметь возможность быстро различать ошибку и то, что в противном случае является «просто» лучшей практикой, и это все, что мой комментарий действительно должен был передать.
MrWhite 8.01.2016 13:18:23

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

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

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

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

2
30.11.2010 12:08:39