為什麼我的 Apache 能夠提供 200 個包含尾部斜線的 .php 檔案?

為什麼我的 Apache 能夠提供 200 個包含尾部斜線的 .php 檔案?

使用虛擬主機和 PHP 7.2.34 運行 Apache 2.4.6,剛剛發現了一個奇怪的問題。

我的虛擬主機上的有效 URL,例如http://example.com/exists.php也可以使用尾部斜線來提供服務;例如http://example.com/exists.php/

只有在所提供的檔案以.php而非 .html、.txt 等結尾時才會出現這種情況。

沒有影響虛擬主機的 mod_rewrite 規則。我的 php.ini 看起來不錯。

有任何想法嗎?正常行為嗎?

答案1

這是正常行為。您也可以添加其他尾部斜線或字母,例如:

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

一些 PHP 框架也使用它來進行不帶mod_rewrite.

相關內容