目录索引不起作用
我使用 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?!
I use apache2 to host a site. There are both index.html and index.php in my directory.
I open the /etc/apache2/apache2.conf
and add a line:
DirectoryIndex index.php index.html index.htm
Then restart apache2. But when I open localhost/~username
, it accesses the index.html.
I look around but can't find problem. My httpd.conf is empty and I don't have .htaccess file.
Where may the setting hide?
Edit: After I modified /etc/apache2/mods-availiable/dir.conf
, it finds the index.php.
But WHY the apache2.conf can't overwrite dir.conf?!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我认为
mod_dir
未加载,请尝试命令sudo a2enmod dir
和service apache2 restart
I think
mod_dir
isn't loaded, try to commandsudo a2enmod dir
andservice apache2 restart
在您希望发生此行为的目录中创建一个名为 .htaccess 的文件。在 .htaccess 文件中,放置一行以 DirectoryIndex 开头的行,后跟您希望 Apache 在请求目录时首先提供服务的文件名列表,如下所示:
上述指令必须全部位于 .htaccess 中的一行中文件。
Create a file named .htaccess in the directory where you want this behavior to occur. Inside the .htaccess file, put a single line beginning with DirectoryIndex followed by the list of filenames that you want Apache to serve first when a directory has been requested, like so:
The above directive must be all on a single line in the .htaccess file.