我有一个 Ruby on Rails 应用程序,其中包含两个子站点www.example.com/site1
和www.example.com/site2
。出于演示目的,我们需要禁用site2
并仅显示site1
。因此,我在 apache 虚拟主机配置中做了一些重定向,如下所示
Redirect 301 http://www.example.com/site2 http://www.example.com/site1
Redirect 301 http://www.example.com http://www.example.com/site1
以确保始终重定向到。现在,如果我们可以从 URL 中site1
删除 ,以便它只显示,但也可以处理子站点(例如,“原始”站点是,它应该显示为),那就太好了。site1
http://www.example.com/site1
http://www.example.com
http://www.example.com/site1/cat1
http://www.example.com/cat1
- 使用 Apache 的重写引擎可以实现这一点吗?如何实现?
- 我不确定是否必须更改应用程序内部的某些内容,或者请求 URL(我的路由器拾取的)是否没有被 apache 修改?
- 另一个解决方案是,仅在用户地址栏中显示域名。这可能吗?如何实现?
答案1
这听起来更像是您应该将 www.example.com 的 DocumentRoot 更改为site1
目录,而不是现在的目录。这样就消除了您引用的所有三个示例中的重定向需要。