У меня есть следующая настройка правила перезаписи:
rewritecond %{http_host} ^domain.com [nc]
rewriterule ^(.*)$ http://domain2.com/$1 [r=301,nc]
Теперь это работает для перенаправления domain.com/index.htm на domain2.com/index.htm, но не перенаправляет никакие папки, например. domain.com/folder/ не будет перенаправлять на domain2.com/folder/
Первый совет: используйте правильные строчные / прописные буквы:
RewriteCond %{HTTP_HOST} ^domain.com [NC]
RewriteRule ^(.*)$ http://domain2.com/$1 [R=301,NC,L]
Тогда, возможно, вы забыли букву «L» вместо «Последнее правило».
Когда вы говорите «он не будет перенаправлять какие-либо папки, например, domain.com/folder/ не будет перенаправлять на domain2.com/folder/», пожалуйста, объясните, что он дает, что он должен давать и что он дает без правил перезаписи. Тогда я мог бы вам помочь.
Пожалуйста, попробуйте использовать RewriteLog
директива: помогает отследить такие проблемы:
# Trace:
# (!) file gets big quickly, remove in prod environments:
RewriteLog "/web/logs/mywebsite.rewrite.log"
RewriteLogLevel 9
RewriteEngine On
Мой любимый инструмент для проверки регулярного выражения:
http://www.quanetic.com/Regex (не забудьте выбрать ereg (POSIX) вместо preg (PCRE)!)