Por que meu Apache é capaz de servir 200 arquivos .php que incluem uma barra final?

Por que meu Apache é capaz de servir 200 arquivos .php que incluem uma barra final?

Executando o Apache 2.4.6 com vhosts e PHP 7.2.34 e acabei de descobrir um problema estranho.

Um URL válido em meus vhosts, como http://example.com/exists.phptambém pode ser exibido com uma barra final; por exemplo http://example.com/exists.php/.

Este é o caso apenas se o arquivo que está sendo veiculado terminar com .php, não .html, .txt, etc.

Não há regras mod_rewrite que afetem os vhosts. Meu php.ini parece bom.

Alguma ideia? Comportamento normal?

Responder1

É um comportamento normal. Você também pode adicionar outras barras ou letras finais, como:

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

também é usado por algumas estruturas PHP para roteamento de URL sem mod_rewrite.

informação relacionada