Apache rewrite:删除 url 部分

Apache rewrite:删除 url 部分

我有一个 Ruby on Rails 应用程序,其中包含两个子站点www.example.com/site1www.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删除 ,以便它只显示,但也可以处理子站点(例如,“原始”站点是,它应该显示为),那就太好了。site1http://www.example.com/site1http://www.example.comhttp://www.example.com/site1/cat1http://www.example.com/cat1

  • 使用 Apache 的重写引擎可以实现这一点吗?如何实现?
  • 我不确定是否必须更改应用程序内部的某些内容,或者请求 URL(我的路由器拾取的)是否没有被 apache 修改?
  • 另一个解决方案是,仅在用户地址栏中显示域名。这可能吗?如何实现?

答案1

这听起来更像是您应该将 www.example.com 的 DocumentRoot 更改为site1目录,而不是现在的目录。这样就消除了您引用的所有三个示例中的重定向需要。

相关内容