我对 ModRewrite 规则和条件做了一些研究,但未能找到一组能够达到我想要的效果的令人满意的规则/条件。
本质上,我在域 A 上有一个目录(http://www.domaina.com/dir/),我想将其重定向到域 B 上的另一个目录(http://www.domainb.com/diff_dir/)。
请注意,我只想在用户尝试访问 domaina 上的 /dir/ 时应用重写规则。如果他们访问的是其他目录或根目录,我不希望重写 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(/)?$
。