我缺乏远见并在特定服务器(http://myserver/)的主域上托管我的网站。现在我想在该服务器上有两个不同的站点,是时候将我的初始站点移动到子站点(http://myserver/site1),这样我就可以拥有site2,site3等。
这很容易做到: -
Redirect / /site1/
但是http://myserver/page1之类的URI不会重定向到http://myserver/site1/page1
我尝试过简单(显然是错误的): -
RedirectMatch ^.*$ /site1/$1
但这导致无限递归。
这样做的大部分资源都涉及带有一些条件的mod_rewrite,但是我对Redirect感觉更舒服,那么如何在忽略任何以site1开头的结果的同时获得上述RedirectMatch行的等价物(以避免无限递归)?
答案 0 :(得分:0)
事实证明你在开始时需要正则表达式,我找到了两种方法(取决于你需要多少例外)。简单的是: -
RedirectMatch ^(?!/site1)(.*) /site1/$1
这从URI的开头做了一个预测,忽略了以/ site1开头的任何URI。
如果您需要排除多个子网站,请尝试以下方法: -
RedirectMatch ^(?!(/site1|/site2))(.*) /site1/$2)