无法在 apache2 [Debian 7.1] 中设置默认索引页
Posted
技术标签:
【中文标题】无法在 apache2 [Debian 7.1] 中设置默认索引页【英文标题】:Unable to set default index page in apache2 [Debian 7.1] 【发布时间】:2016-03-16 23:28:49 【问题描述】:您好,我正在做一个项目,我在根目录上有两个索引文件,一个是 index.php,另一个是 index.html。我想将默认页面设置为 index.php,如果它不可用,那么它应该适用于 index.html。 我在互联网上搜索了很多,并找到了以下解决方案。
DirectoryIndex index.php index.html
我在我的网站上使用此代码:
<Directory "/home/zhengyu/webroot/engine5g/rentown.com/">
DirectoryIndex index.php index.html default.htm
</Directory>
我也试过另一种方法:
<Directory "/home/zhengyu/webroot/engine5g/rentown.com/">
DirectoryIndex index.php index.html
Options Indexes FollowSymLinks MultiViews
AllowOverride None
DirectoryIndex index.php index.html
Order allow,deny
allow from all
</Directory>
但它们都不起作用,它总是将 index.php 设为默认值,但当它不可用时,它不会加载 index.html。
如果我先写 index.html,然后写 index.php,那么它会加载 index.html,但如果 index.html 不可用,则不会加载 index.php。
简而言之,我们可以说首选项不起作用。
【问题讨论】:
【参考方案1】:您可以指定多个文件名,Web 服务器将搜索每个文件,直到找到匹配项。考虑这个示例指令:
将其写入根目录下的 htaccess 文件中:
DirectoryIndex index.php index.html
在此指令中,当访问者请求目录名称时,Web 服务器首先查找 index.php 文件。如果它没有找到 index.php 文件,它会查找 index.html 文件,依此类推,直到找到 找到匹配项或用完要搜索的文件。
或者试试这个方法
# Example A: Set index.html as an index page, then add index.php to that list as well.
<Directory "/foo">
DirectoryIndex index.html
DirectoryIndex index.php
</Directory>
# Example B: This is identical to example A, except it's done with a single directive.
<Directory "/foo">
DirectoryIndex index.html index.php
</Directory>
# Example C: To replace the list, you must explicitly reset it first:
# In this example, only index.php will remain as an index resource.
<Directory "/foo">
DirectoryIndex index.html
DirectoryIndex disabled
DirectoryIndex index.php
</Directory>
来源:
https://www.a2hosting.com/kb/developer-corner/apache-web-server/default-directory-index-page
https://httpd.apache.org/docs/2.4/mod/mod_dir.html
【讨论】:
@Insomania 我认为你的路径有问题/home/zhengyu/webroot/engine5g/rentown.com/
;尝试改变它。
好的,这里是.. 以上是关于无法在 apache2 [Debian 7.1] 中设置默认索引页的主要内容,如果未能解决你的问题,请参考以下文章
Apache2.4 - PHP 5.6 和 PHP7.1 同时运行
Apache2.4 - PHP 5.6和PHP7.1同时运行