[identity profile] superbabka.livejournal.com posting in [community profile] useful_faq
Дано:
два домена, один хостинг, один сайт.
Надо:
пользователь набирает домен1 и страница перегружается, показывая в строке адреса домен2

То есть жил-был сайт с одним доменом, потом я купил другой, и хочу, чтобы он закрепился за этим сайтом, поэтому пользователи должны выдеть именно его, когда набирают старый адрес (или закладками пользуются)

даже в случае набора ввв.домен1.ру/страница_где-то_глубоко_зарытая.php нужно получать ввв.домен2.ру/та_же_самая_страница_где-то_глубоко_зарытая.php

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

Date: 2007-11-22 09:38 am (UTC)
From: [identity profile] dimmik.livejournal.com
Можно просто отдать ответ со статусом 302 и урлом.
Вы же внутри страницы знаете какой у нее адрес?
Или hrml-страницу с <META HTTP-EQUIV="Refresh" Content="0, URL=http://${новый сайт}/страница_где-то_глубоко_зарытая.php">

Date: 2007-11-22 12:19 pm (UTC)
From: [identity profile] dimmik.livejournal.com
Не, вот есть домен d1, старый.
Если на него приходит запрос (http://d1/some/path/to/page), пересылаем (можно мод-реврайтом, скажем) на страницу do_redirect.php. Из которой делаем редирект на http://d2/some/path/to/page
Если запрос приходит на d2 пропускаем спокойно.

Date: 2007-11-22 12:20 pm (UTC)
From: [identity profile] dimmik.livejournal.com
Впрочем, там ниже правильнее ответили насчет модреврайта :)

Date: 2007-11-22 11:37 am (UTC)
From: [identity profile] nimdar.livejournal.com
Можно в апаче создать новый вхост в котором только три строки:

ServerName www.olddomain.ru
ServerAlias olddomain.ru
RedirectMatch /(.*) http://www.newdomain.ru/$1

Или можно в .htaccess
RewriteEngine On
RewriteCond %{HTTP_HOST} ^olddomain\.ru$ [NC]
RewriteRule ^(.*) http://newdomain.ru/$1 [R=permanent,L]

Date: 2007-11-22 11:40 am (UTC)
From: [identity profile] chorry.livejournal.com
если апач с mod_rewrite то в .htaccess пропишите

RewriteEngine ON
RewriteCond {HTTP_HOST} ^домен1.ru (хотя в вашем случае эту строчку не обязательно)
RewriteRule ^(.*)$ http://www.домен2.ru/$1 [R=permanent,L]

Таким образом, если кто-то запрашивает страницу http://www.домен1.ru/page.php?cat=1 , его будет редиректить на http://www.домен2.ru/page.php?cat=1

Date: 2007-11-22 11:53 am (UTC)
From: [identity profile] nimdar.livejournal.com
Quote:
RewriteCond {HTTP_HOST} ^домен1.ru (хотя в вашем случае эту строчку не обязательно)

Вот как раз в этом случае и обязательно, иначе при заходе на http://www.домен2.ru/page.php?cat=1 будет реврайтиться на домен2.ru и получаем бесконечные реврайты.

Date: 2007-11-22 12:46 pm (UTC)
From: [identity profile] chorry.livejournal.com
Мда, чегой-то меня проглючило.