1

我正在使用 Apache 和乘客来运行 rails 应用程序。在我的 rails 应用程序中,我在公共目录的子目录中有一些静态内容。每个子目录中都有一个 index.html。

因此,在公共目录中,我有一个名为“b”的子目录,其中包含一个 index.html。所以它是这样的:

/public/b/index.html

我有这些页面的链接,格式如下:

http://a.com/b

如果我在我的常规非 Rails Web 目录中执行此操作,Apache 会正确地将此 URL 重写为http://a.com/b/,然后显示 index.html。只有在访问我的 rails 应用程序时它才不起作用。事实上,如果我关闭乘客模块......所以它只是像普通文档根一样访问我的 Rails 应用程序,它也可以正常工作。

我到底需要做什么才能让它与乘客正常工作?同样,当乘客不参与时,它在 apache 本身中也能正常工作。

我正在运行乘客 2.1.3。我有另一台运行乘客 2.0 的服务器似乎没有这个问题,但除了乘客本身的不同版本之外,我在配置中没有看到任何不同。

帮助!这两天一直在努力,没有任何改善!

4

2 回答 2

0

你有PassengerHighPerformance吗?这可能会干扰索引页面。

于 2009-04-12T01:56:20.803 回答
0

将以下重写规则添加到您的 apache 配置中:

# Turn on URL rewriting
RewriteEngine On
# For a given url foo, check if foo/index.html exists as a static file
RewriteRule ^([^.]+)$ $1/index.html [QSA]
于 2009-05-13T01:37:49.443 回答