#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.