我的服务器上有多个虚拟主机网站,如果不存在索引文件,我想让 Apache 加载一组文件。我试过
DirectoryIndex /index.php
但这只会加载虚拟主机根目录下的索引。接下来我尝试
DirectoryIndex /var/www/index.php
但返回了 404 错误。所以我又尝试
DirectoryIndex /../index.php
但结果也返回了 400 错误。Google 中的所有结果都是关于如何禁用默认索引,而不是替换它。
我的文件树是
www > index.php (file I wish to load if no index)
virtualhostsite1 > pages
subdirectories
etc.
virtualhostsite2 > pages
subdirectories
etc.
virtualhostsite3 > pages
subdirectories
etc.
简而言之,我想更换这个屏幕自定义索引存储在硬盘驱动器上其他位置的 Apache 根目录之外。我希望这是合理的。
答案1
根据Apache HTTPd 文档,你只需使用
DirectoryIndex index.php
这将使用该文件index.php
作为每个目录内的目录索引。
您还可以提供要尝试的文件列表。因此,如果不index.html
存在,index.php
则应使用(如果存在)。
DirectoryIndex index.html index.php
文档说:
Local-url 是服务器上相对于请求目录的文档的(%编码)URL;它通常是目录中文件的名称。
所以我猜你已经很接近了。尝试:
DirectoryIndex ../index.php