感谢您提供的任何帮助!
我们刚刚将我们的网站迁移到一个新的服务器上。它位于运行Sun/Oracle Solaris的Joyent Cloud上,除了PHP之外,它还有Ruby。它在MySQL和Apache上运行。
之前,我们已经设置好了,当我导航到"example.com/community"时,我的浏览器会找到"example.com/community/index.html",然后元刷新将我适当地重定向到"example.com/scommunityboard"
现在,当我导航到"example.com/community"时,我会得到一个"找不到文件"的错误。但是,如果我导航到"example.com/community/index.html",该网站将按预期工作。
我认为这是Apache中的一个问题,但我不能100%确定。有办法解决这个问题吗?如有循序渐进的建议,不胜感激!
在您的站点配置(例如/etc/apache2/sites-available/example.com)中,您需要确保您有DirectoryIndex指令。您的配置应该如下所示:
<VirtualHost xx.xxx.xxx.xx>
ServerName example.com
DocumentRoot /path/to/webroot
DirectoryIndex index.html
</VirtualHost>
然后,只要确保你做了一个"/etc/init.d/apache2重启",你就可以了。
以下是我的开发人员介绍的情况。我不完全理解解释,所以我不确定我能回答后续问题!"对于旧的mongrel集群,Apache会将"/community"识别为一个目录,然后静默地转发到"/community/",然后它会获取转发的index.html文件。对于Phusion Passenger,"我想我们现在正在使用,"如果"/community"不是常规文件,Apache将直接向Passenger发送请求,而Passenger返回了404错误。作为修复,我们在社区文件夹中禁用了Passenger,从而修复了问题。"