Перенаправленный домен Wildcard 301 Redirects - PullRequest
1 голос
/ 22 марта 2011

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

Я хочу, чтобы domain1.com был «главным» - идея состоит в том, что должны быть следующие перенаправления (с 301 статусом для максимальной выгоды SEO):

domain2.com перенаправляет на domain1.com
domain3.com перенаправляет на domain1.com
domain2.com/foo/ перенаправляет на domain1.com/foo/ domain3.com/foo / перенаправляет на domain1.com/foo/
domain2.com/foo/bar/ перенаправляет на domain1.com/foo/bar/
domain3.com/foo/bar/ перенаправляет на domain1.com/foo/bar /

И так далее ...

По сути, я хотел бы добавить в микс какой-то подстановочный знак, чтобы подстраницы / foo / и / bar / былитакже перенаправлены на те же URL-адреса на domain1.com

Я искал все выше и ниже соответствующую документацию .htaccess, но, похоже, не могу найти решение, которое ищу.Поэтому мне было интересно, если у кого-нибудь из вас есть какие-то указатели - буду очень признателен:)

Ответы [ 2 ]

2 голосов
/ 27 апреля 2011

Если все ваши домены припаркованы на одном хосте, тогда вам подойдут следующие правила:

Options +FollowSymlinks -MultiViews
RewriteEngine on

# handles domain2/* -> domain1/* for http
RewriteCond %{HTTP_HOST} ^(www\.)?domain2.com$ [NC]
RewriteCond %{SERVER_PORT} =80
RewriteRule ^(.*)$ http://domain1.com/$1 [R=301,L]

# handles domain2/* -> domain1/* for https
RewriteCond %{HTTP_HOST} ^(www\.)?domain2.com$ [NC]
RewriteCond %{SERVER_PORT} =443
RewriteRule ^(.*)$ https://domain1.com/$1 [R=301,L]

# handles domain3/* -> domain1/* for http
RewriteCond %{HTTP_HOST} ^(www\.)?domain3.com$ [NC]
RewriteCond %{SERVER_PORT} =80
RewriteRule ^(.*)$ http://domain1.com/$1 [R=301,L]

# handles domain3/* -> domain1/* for https
RewriteCond %{HTTP_HOST} ^(www\.)?domain3.com$ [NC]
RewriteCond %{SERVER_PORT} =443
RewriteRule ^(.*)$ https://domain1.com/$1 [R=301,L]

Поместите их в файл .htaccess вашего DOCUMENT_ROOT.

1 голос
/ 22 марта 2011

Для каждого из domain2.com и domain3.com вам нужен .htaccess, который выглядит примерно так:

RewriteEngine on
RewriteRule ^(.*) http://domain1.com/$1 [R=301,L]
...