Назад | Перейти на главную страницу

Как заставить RewriteCond + RewriteRule изменить domain2 / folder1 на domain1 / folder1

На самом деле есть 2 вопроса.

Во-первых, как заставить RewriteCond + RewriteRule изменить domain2 / folder1 на domain1 / folder1

На самом деле я хочу, чтобы любой домен, который пытается получить доступ к папке 1, которая не является доменом 1, переключается на домен 1. Так, например, domain2.com/domain1/foo -> domain1.com/domain1/foo, а также domain3.com/domain1/foo -> domain1.com/domain1/foo

Это то, что я пробовал

RewriteCond %{HTTP_HOST}     !^domain1\.com$ [NC]
RewriteCond %{REQUEST_URI}   ^/folder1/
RewriteRule ^/folder1/(.*)$  http://domain1.com/folder1/$1 [L,R=permanent]

Но это не работает. Затем я попробовал более простое правило, чтобы посмотреть, смогу ли я сузить проблему.

RewriteCond ${HTTP_HOST}  domain2\.com [NC]
RewriteRule ^(.*)$        http://google.com/ [L]

Я думал, что ЛЮБОЙ запрос к domain2.com перейдет на google.com, поэтому я попробовал http://domain2.com/foo но я получаю domain2.com/foo, а не google.com. Если я перейду на http://domain2.com Я получаю гугл. Почему бы мне не попасть туда, если я пойду в http://domain2.com/foo?

Что я не понимаю в mod_rewrite?

Неважно. Приведенные выше правила работают. Проблема заключалась в том, что на самом деле у меня была папка folder1, а внутри был другой файл .htaccess. ДОХ!