我正在尝试完成这样的 RewriteCond ,但我遇到了正则表达式的问题
REDIRECT to domain1.tld 仅限当前地址为domain2.tld / test /但 NOT IF domain2.com/test/_appz /
域名可能无关紧要:重定向到domain1.tld 仅限当前地址包含目录/ test /但 NOT IF 在/ test / _appz /更深层
我想要达到条件:
domain2.tld / test />>>重定向
domain2.tld / test / _appz />>>留
otherdomain.tld>>>留
修改
我正在为自己的目的编写自己的CMS,有2个域指向同一个public_html,
一个是官方的,一个仅用于通过CMS访问。
cms.domain2.tld/test/ >>> redirect to domain1.com
cms.domain2.tld/test/_appz/ >>> no redirect
domain1.tld>>> no redirect (as it will be loop)
domain1.tld 和 cms.domain2.tld 指向 .htaccess 存在的同一目录
提前感谢你的帮助!
答案 0 :(得分:0)
您可以使用mod_alias或mod_rewrite进行重定向。请注意,使用mod_alias,不想要使用Redirect
指令,它将虚拟链接两个路径节点,这不是您想要的。
在 domain2.tld 的文档根目录中的htaccess文件中,添加:
RedirectMatch ^/test/?$ http://domain1.tld/
如果您想要永久重定向:
RedirectMatch 301 ^/test/?$ http://domain1.tld/
如果您有可能干扰mod_alias的重写规则,那么您可能只想坚持使用mod_rewrite。此外,如果 domain1.tld 和 domain2.tld 共享相同的文档根目录,您将无法使用mod_alias。你想要这样的东西:
RewriteEngine On
RewriteCond %{HTTP_HOST} domain2.tld$ [NC]
RewriteRule ^/?test/?$ http://domain1.tld/ [L,R]
如果您想要永久重定向,请将标记更改为[L,R=301]
。