Как перенаправить несколько доменов в другой домен, кроме 1 каталога, используя htaccess? - PullRequest
5 голосов
/ 11 мая 2011

Я пытаюсь перенаправить несколько доменов в один домен (который работает нормально), но я хочу, чтобы один каталог не перенаправлял или не менял URL основного домена.

вот мой код .htaccess, он работает нормальнопока здесь

этот работает

<code><pre>
    RewriteCond %{HTTP_HOST}    ^http(s)?://(www.)?domain.com$  [OR]
    RewriteCond %{HTTP_HOST}    ^http(s)?://(www.)?domain.net$  [OR]
    RewriteCond %{HTTP_HOST}    ^http(s)?://(www.)?domain.org$  [OR]
    RewriteCond %{HTTP_HOST}    ^domain.info$ [OR]
    RewriteCond %{HTTP_HOST}    !^www.domain.info
    RewriteRule (.*)    http://www.domain.info/$1   [R=301,L]

но когда я пытаюсь остановить перенаправление одного конкретного каталога с помощью

полный код

<code><pre>
    RewriteCond %{HTTP_HOST}    ^http(s)?://(www.)?domain.com$  [OR]
    RewriteCond %{HTTP_HOST}    ^http(s)?://(www.)?domain.net$  [OR]
    RewriteCond %{HTTP_HOST}    ^http(s)?://(www.)?domain.org$  [OR]
    RewriteCond %{HTTP_HOST}    ^domain.info$        [OR]
    RewriteCond %{HTTP_HOST}    !^www.domain.info   [OR]
    RewriteCond %{REQUEST_URI}  !^/no_redirect_dir/
    RewriteRule (.*)    http://www.domain.info/$1   [R=301,L]

все перестает работать :( с ошибкой, что страница не перенаправляет правильно.

дополнительнокод, вызывающий ошибку

<code><pre>
    RewriteCond %{HTTP_HOST}    !^www.domain.info   [OR]
    RewriteCond %{REQUEST_URI}  !^/no_redirect_dir/

любая помощь будет принята с благодарностью.

спасибо!

1 Ответ

8 голосов
/ 11 мая 2011

Напишите ваш .htaccess так:

RewriteCond %{HTTP_HOST} (www\.)?domain\.(org|net|com)$ [NC]
RewriteCond %{REQUEST_URI} !^/*no_redirect_dir/ [NC]
RewriteRule ^(.*)$ http://www.domain.info/$1 [R=301,L]

Переменная HTTP_HOST просто имеет имя домена, нет информации http / https.

...