
Я провел небольшое исследование правил и условий ModRewrite, но не смог найти удовлетворительного набора правил/условий, которые позволили бы достичь нужного мне эффекта.
По сути, у меня есть каталог на домене A (http://www.domaina.com/dir/), который я хотел бы перенаправить в другой каталог на домене B (http://www.domainb.com/diff_dir/).
Обратите внимание, что я хочу применить правило перезаписи только в том случае, если пользователь пытается получить доступ к /dir/ на domaina. Если они получают доступ к другому каталогу или корню, я не хочу переписывать URL.
Спасибо!
решение1
В конфигурации домена:
#redirect everything under dir to the same location under domainb.com/diff_dir
RewriteRule ^/dir/(.*)$ http://www.domainb.com/diff_dir/$1 [r=301]
#redirect url http://www.domaina.com/dir to http://www.domainb.com/diff_dir
RewriteRule ^/dir(/)?$ http://www.domianb.com/diff_dir [r=301]
Я это не проверял, но должно работать.
Примечание:
Если вы делаете это в корневом файле .htaccess или в конфигурации определенного каталога, вам нужно будет удалить начальный символ '/' или иным образом изменить шаблон правила. Что-то вроде ^dir(/)?$
.