网站迁移后,index.html不再自动加载



感谢您提供的任何帮助!

我们刚刚将我们的网站迁移到一个新的服务器上。它位于运行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,从而修复了问题。"

最新更新