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

#regex #.htaccess #redirect #mod-rewrite #directory

#регулярное выражение #.htaccess #перенаправление #мод-перезапись #каталог

Вопрос:

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

вот мой код .htaccess, он отлично работает до сих пор

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

 <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]
</pre>
  

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

полный код

 <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]
</pre>
  

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

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

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

любая помощь была бы высоко оценена.

Спасибо!

Ответ №1:

Напишите свой .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.