Я веду здесь проигрышную битву. У меня есть доменное имя, в котором легко написать ошибку. Итак, я купил орфографическую ошибку. Теперь мне нужно настроить доменное имя с ошибкой, чтобы перенаправить все на правильно написанное доменное имя, но мне нужно сохранить поддомены.
Пример: 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