2010-07-15 2 views
5

Как перенаправить все запросы (независимо от того, какая страница запрашивается) на sub.domain.com на newdomain.com? В настоящее время яhtaccess: перенаправить все запросы в другой домен

Redirect 301/http://www.newdomain.com/ 

Когда запросы приходит на domain.com/shop/product редирект идет на newdomain.com/shop/product в то время как он должен просто пойти newdomain.com

+0

https://stackoverflow.com/questions/1945568/htaccess-redirect-all-pages-to-new-domain – rsharpy

ответ

8

использования Rewrite:

RewriteEngine on 
RewriteRule (.*) http://www.newdomain.com/ [R=301,L] 
+0

Выполняет каждый запрос на 'http: // www.newdomain.com', но не пересылает их , – Starx

+0

Почему вы так думаете? Документы четко заявляют: «Использование флага [R] приводит к тому, что браузер выдает HTTP-перенаправление. Если указан полный URL-адрес (например,' http: // имя_сервера/'), тогда перенаправление будет отправлено в это место. В противном случае текущий протокол, имя сервера и номер порта будут использоваться для создания URL-адреса, отправленного с перенаправлением. " http://httpd.apache.org/docs/2.2/rewrite/flags.html#flag_r –

+0

Прежде всего, я протестировал его и не работал, затем я выяснил причину этого, потому что, как вы сказали это является допустимым правилом, но с '/ $ 1' в конце работал на большинстве моих серверов (я вообще не тестировал). – Starx

3
RewriteCond %{HTTP_HOST} ^(www\.)?olddomain\.com$ 
RewriteRule (.*) http://www.newdomain.com/$1 [R=301,L] 

Это будет пересылать любые запросы GET.

Смежные вопросы