Используйте htaccess для перенаправления всего трафика с субдомена в домен без сохранения структуры каталогов - PullRequest
0 голосов
/ 08 апреля 2010

В большинстве примеров показано, как перенаправить весь трафик субдомена в основной домен, поддерживая структуру каталогов. Я на самом деле не хочу этого. Я хочу перенаправить весь трафик субдомена (сайт уходит) в основной домен. Это не работает:

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

Что произойдет, если вы перейдете к этому:

http://sub.newdomain.com/some/path/

Вы получаете это:

http://www.newdomain.com/some/path/

Я хочу, чтобы все это пошло в корень.

Ответы [ 3 ]

1 голос
/ 04 марта 2013

Просто добавьте знак вопроса в конец целевого URL, если вы хотите исключить всю конечную информацию (например, структуру каталогов, параметры).

В вашем случае это будет просто обновлено до:

Options +FollowSymLinks
RewriteEngine on
RewriteRule (.*) http://www.newdomain.com/? [R=301,L]
1 голос
/ 08 апреля 2010

Как насчет простого перенаправления 301 в конфигурационном файле apache для субдомена?

Чтобы перенаправить ВСЕ файлы в вашем домене, используйте это в своем Файл .htaccess, если вы находитесь на веб-сервере Unix:

redirectMatch 301 ^(.*)$ http://www.domain.com 
redirectMatch permanent ^(.*)$ http://www.domain.com

и другой пример

Если вам нужно перенаправить http://mysite.com на http://www.mysite.com и у вас включен mod_rewrite ваш сервер вы можете поместить это в ваш файл .htaccess:

РЕДАКТИРОВАТЬ: Если вы хотите использовать это, просто удалите $ 1 из правил в примере ссылки, если первый вариант выше не работает.

Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^example\.com
RewriteRule ^(.*)$ http://www.example.com/ [R=permanent,L]

или это:

Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^domain\.com$ [NC]
RewriteRule ^(.*)$ http://www.domain.com/ [R=301,L]

Эти выдержки из здесь

0 голосов
/ 16 июня 2013

Это обрабатывает поддомены с подстановочными знаками, и в случае, когда клиент ставит www перед поддоменом

#  wildcard.domain.com  ->  www.domain.com/wildcard
RewriteCond %{HTTP_HOST} ^(.*)\.domain\.com$ [NC]
RewriteCond %1 !^(www)$ [NC]
RewriteCond %1 !^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://www.domain.com/%1/ [R=301,L]

#   www.wildcard.domain.com   ->   www.domain.com/wildcard
RewriteCond %{HTTP_HOST} ^(www\.(.*))\.domain\.com$ [NC]
RewriteCond %1 !^www$ [NC]
RewriteRule ^(.*)$ http://www.domain.com/%2 [R=301,L]
...