【问题标题】:DirectoryIndex doesn't work目录索引不起作用
【发布时间】:2011-09-24 11:18:28
【问题描述】:

我使用 apache2 来托管一个站点。我的目录里有index.html和index.php。

我打开/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?!

【问题讨论】:

  • 如果您暂时从目录中删除 index.html(例如重命名),它会找到 index.php 吗?
  • 是的。如果我将它重命名为 index.htm,apache 会找到 index.php
  • 您找到解决方案了吗?我有完全相同的问题,如果我编辑 dir.conf 文件,它可以工作,但在其他任何地方(htaccess 除外),它都不会覆盖它:(

标签: apache2 indexing


【解决方案1】:

在您希望发生此行为的目录中创建一个名为 .htaccess 的文件。在 .htaccess 文件中,放一行以 DirectoryIndex 开头,然后是您希望 Apache 在请求目录时首先提供的文件名列表,如下所示:

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

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

【讨论】:

    【解决方案2】:

    我认为mod_dir 没有加载,尝试命令sudo a2enmod dirservice apache2 restart

    【讨论】:

    • 这不是这个问题的答案;你刚刚把它给了另一个人?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-12-30
    • 2012-07-06
    • 2014-09-15
    • 2012-10-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多