为什么我的 Apache 能够提供包含尾部斜杠的 .php 文件?

为什么我的 Apache 能够提供包含尾部斜杠的 .php 文件?

运行带有 vhosts 和 PHP 7.2.34 的 Apache 2.4.6 时发现了一个奇怪的问题。

我的虚拟主机上的有效 URL,例如http://example.com/exists.php也可以使用尾随斜杠来提供;例如http://example.com/exists.php/

仅当所服务的文件以 结尾时才会出现这种情况.php,而不是 .html、.txt 等。

没有 mod_rewrite 规则影响 vhosts。我的 php.ini 看起来不错。

有什么想法吗?正常行为?

答案1

这是正常行为。您还可以添加其他尾部斜杠或字母,例如:

  • http://example.com/exists.php/path/to/
  • http://example.com/exists.php/otherpath

一些 PHP 框架也使用它来进行无需的 URL 路由mod_rewrite

相关内容