重定向主站点,子域除外

Redirecting main site, except subdomain

在决定 post 这个之前,我进行了多次搜索但没有成功。

我有一个主站点 https://mainsite.com 和一个子域 https://subdomain.mainsite.com .

挑战是,我只想将主站点重定向到 https://mainsite.com/mysite 而不是子域。

我试过这个:

RedirectMatch ^https://mainsite\.com https://mainsite.com/mysite

如果我输入 https://mainsite.com

,这将不会执行任何操作

最初,我有这个,它在主站点上运行良好:

RedirectMatch ^/$ /mysite
RedirectMatch /mysite/ /mysite

但是当我有子域时,它也将 /mysite 添加到子域,这不是我想要的。

我想用 Redirectmatch

来实现

感谢您的帮助。

您可以使用mod-rewrite

RewriteEngine on

#if http host not sub.domain.com
RewriteCond %{HTTP_HOST} !sub\.domain\.com
redirect / to /mysite
RewriteRule ^/?$  /mysite [L,R]

在 Apache 2.4 上,您可以用 if 条件将 RedirectMatch 括起来以检查主机 header,类似下面的内容应该适用于 Apache 2.4 或更高版本

 <If "%{HTTP_HOST} == 'example.com'">
RedirectMatch ^/$ /mysite/
</If>

如果主机是 example.com,这会将 / 重定向到 http://example.com/mysite