我有一个在 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 all
为Require all granted