【发布时间】:2010-04-30 15:13:24
【问题描述】:
我使用 Passenger 将 RoR 应用程序部署到我域上的子 URI。我面临的问题是子 URI 似乎区分大小写。导航到http://mydomain.com/RailsApp 解决得很好。但是,如果我转到 http://mydomain.com/railsapp、http://mydomain.com/railsApp 或任何其他变体,我会收到 404 错误。如何正确解决这些使用不同大小写的请求?
这是我的 Apache 配置文件:
<VirtualHost *:80>
ServerName mydomain.com
ServerAlias www.mydomain.com
DocumentRoot /www/mydomain/public
<Directory "/www/mydomain/public">
RailsEnv "production"
Order allow,deny
Allow from all
</Directory>
RailsBaseURI /RailsApp
<Directory "/www/RailsApp/public">
RailsEnv "development"
Options -MultiViews
</Directory>
</VirtualHost>
非常感谢任何帮助。谢谢!
【问题讨论】:
-
URL 根据定义区分大小写,因此在您提出这个问题之前,请确保您有充分的理由让它们不区分大小写。最简单的做法是将文件夹重命名为服务器上的小写版本,但这只会使其以小写形式工作,不会使其不区分大小写
-
@Gareth:原因是用户仍然可以导航到 URL,而不管他们的字母大小写如何。例如,转到stackoverflow.com/Questions 或stackoverflow.com/QuEsTiOnS 仍然指向stackoverflow.com/questions。