2011-06-28 23 views
5

我使用apache2来托管一个网站。在我的目录中有index.html和index.php。DirectoryIndex不起作用

我打开/etc/apache2/apache2.conf,并添加一行:

DirectoryIndex index.php index.html index.htm 

然后,重新启动的Apache2。但是当我打开localhost/~username时,它访问index.html。

我环顾四周,但找不到问题。我的httpd.conf是空的,我没有.htaccess文件。

设置隐藏在哪里?

编辑:我修改了/etc/apache2/mods-availiable/dir.conf之后,它找到了index.php。

但是为什么apache2.conf不能覆盖dir.conf ?!

+0

如果你暂时从目录中删除的index.html(例如,将其重命名),它找到的index.php? –

+0

是的。如果我将它重命名为index.htm,apache find index.php –

+1

您是否曾经找到过解决方案?我有完全相同的问题,如果我编辑dir.conf文件,它可以工作,但在其他任何地方(除了htaccess),它不会覆盖它:( –

回答

0

在您希望发生此行为的目录中创建一个名为.htaccess的文件。里面的.htaccess文件,把与DirectoryIndex的开始之后,你希望在一个目录已要求,像这样Apache来先服务列表中的文件一行:

DirectoryIndex index.php index.html index.htm index.phtml start.html 

上述指令必须全部上.htaccess文件中的一行。

+0

不起作用...仍显示index.html –

1

我觉得没有加载mod_dir,尽量克制sudo a2enmod dirservice apache2 restart

+0

这不是这个问题的答案,你只是把它给了另一个? –