2016-12-02 57 views
0

我在我的Apache DocumentRoot目录中有一个index.html文件,但是当我到我的URL时,我仍然得到我的DocumentRoot目录而不是索引的目录列表。正在显示html文件。当我重新加载页面时,apache access_log显示200。有什么建议么?有index.html文件,但仍然得到一个目录列表

+1

是否设置了“DirectoryIndex”? https://httpd.apache.org/docs/current/mod/mod_dir.html#directoryindex –

+0

可能重复[index.php默认不加载](http://stackoverflow.com/questions/2384423/index-php -not-loading-default) – r1verside

+0

@Pekka웃DirectoryIndex已设置。 的DocumentRoot在/ var/WWW /虚拟主机/ ihlgt/httpdocs资料 的DirectoryIndex /var/www/vhosts/ihlgt/httpdocs/index.html 我上面被列出的一个,这样似乎是正确的我DocumentRoot的目录? –

回答

3

使用

DirectoryIndex index.html 

它告诉Apache显示目录的要求是什么文件。

更新

您应指定只Apache会查找该文件夹中所要求的文件名

+0

谢谢!就是这样。我的网站仍然无法正常工作。 index.html只是一个测试,它真的是我正在开发的一个php应用程序。但只显示文件名显示index.html,现在我已将DirectoryIndex更改为index.php,我的网站未加载。但至少我现在在错误日志中得到一个PHP致命错误。找到解决方案是另一个单独的主题,所以我将这个答案标记为接受。再次感谢。 –

0

不是说这会为您解决问题,但对我来说,当第一次开始使用的Apache2是移动或网站根目录

ls -hal /var/www/host_one/index.html 

下写入新文件如果上面时会被人遗忘的文件权限不具有相同的用户读(r)权限:组或者如果所有权不包括用户/组的Web服务器,那么请尝试以下允许组读取

# Modify ownership, change 'www_host' to Apache2 group 
chown ${USER}:www_host /var/www/host_one/index.html 
# give read+write (6) to user and read (4) to group owners 
chmod 640 /var/www/host_one/index.html 

请尝试刷新网站并查看权限在哪里的问题。注意大多数Web文档只要求读取权限和所有权对浏览器来说是正确的,以允许浏览器进行渲染,在极少数情况下,您可能需要对服务器脚本执行可执行(1或x)权限(在这种情况下应保持谨慎的所有权)并且最后写入权限(2或w)应该永远不会在你的web根目录中没有很好的理由。

第二件事尝试,使用index.html您的浏览器中的地址栏

# by IP 
http://192.168.0.100/index.html 
# by domain 
http://site-name.local/index.html 

如果上面加载文档,然后,像@Pekka웃已经说过,你可能已经得到了,这是一个服务器选项缺少或启用目录列表,而不是在该目录中查找索引页。如果这是问题,那么修复的方法有两种,我曾试过。一,htaccess配置禁用该子目录内的目录列表,二,服务器虚拟主机配置,以防止整个网站从目录列表。就我个人而言,我更喜欢使用选项二,然后在允许列出的目录中放置一个htaccess配置来获得权限而不是拒绝。

相关问题