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

Перенаправление http://support.domane.com на http://support.domain.com

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

Пример: support.domane.com должен перенаправить на support.domain.com submit.domane.com должен перенаправить на submit.domain.com

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

И мне бы очень хотелось иметь лендинг со ссылкой на случай, если перенаправление не сработает. Типа "Обновите закладки !! 1!" страница. Итак, если решение включает в себя php или javascript, я тоже в этом разбираюсь.

Любой совет будет очень признателен.

Заранее спасибо,

Критик

tl; dr Мне нужно перенаправить домены, но сохранить субдомены нетронутыми. http://sub.domane.com -> http://sub.domain.com где sub - это переменная, которая должна быть одинаковой для обоих URL-адресов.

(Предполагая, что apache - это веб-сервер.)

Создайте VHOST по умолчанию с

RewriteRule ^/(.*)$ /foo.php [L]

В foo.php сделать что-то вроде (я не знаю php, поэтому есть псевдокод):

$server_name = $_SERVER["SERVER_NAME"];

if ($server_name does-not-match "*.subdomane.com") {
  header("HTTP/1.0 404 Not Found");
  exit;
}

$server_name = replace('subdomane.com', 'subdomain.com');

header("HTTP/1.1 301 Moved Permanently");
header("Location: " . $server_name . $_SERVER["REQUEST_URI"]);

exit;

на всякий случай редирект не работает

301/302 редиректы работают и проработали давно.

Если вы настаиваете, вы можете вернуть страницу со ссылкой на домен без опечаток и использовать meta http-equiv="refresh" или перезагрузка javascript, но это так 1996 год.

Это может помочь:

https://stackoverflow.com/questions/79764/wildcard-subdomains

Вам нужна запись с подстановочным знаком DNS A для:

*.misspelled.com

указывая на ваш веб-сервер.

На веб-сервере вам нужен механизм перезаписи, исправляющий орфографические ошибки и обслуживающий перенаправление 301 на subdomain.correct.com. Каким образом зависит от того, что вы используете на стороне сервера, но правила перезаписи Apache являются общими.

Я не знаю, как можно использовать ссылку - какой браузер не поддерживает перенаправления? Возможно, если вы сделаете это на PHP или аналогичном, вы сможете отправить заголовок ответа перенаправления и страницу со ссылкой? Не уверен, что это сработает. - Примеры: http://www.webconfs.com/how-to-redirect-a-webpage.php