显然 apache 从不存在的目录中检索 index.php

显然 apache 从不存在的目录中检索 index.php

我有一个在 apache2 中定义的网站,其配置文件如下:

<VirtualHost *:80>
    ServerName my.site.net
    DocumentRoot /var/www/foto
    <Directory /var/www/foto>
        DirectoryIndex index.php
        Options +FollowSymLinks
        Options -Indexes
        AllowOverride None
        Require all granted
    </Directory>
</VirtualHost>

一切都很好,但是:

  • 如果我加载my.site.net/non-existent-directory(不带尾部斜杠),/var/www/foto/index.php则文件将被加载,并且会找到所有由 index.php 加载的文件

为什么要/var/www/foto/index.php加载?我预计会出现未找到错误。

怎么non-existent-directory解读?

  • 如果我加载my.site.net/non-existent-directory/(带有尾随斜杠),则/var/www/foto/index.php文件被加载,加载它时,应该由 index.php 加载的文件找不到,因为在不存在的目录中进行搜索。

再说了,为什么要/var/www/foto/index.php加载呢?

我应该怎么做才能避免这种情况?

编辑:从 DocumentRoot 中删除尾部斜杠并升级order allow,deny, allow from allRequire all granted

相关内容