O Apache adiciona “./” a nomes de arquivos com dois-pontos neles

1

Corri para isso hoje rodando o httpd no Centos 7.3. Fazemos um monte de obtenção de documentos em HTML gerados pelo apache para download de arquivos. Aparentemente, se um nome de arquivo tiver dois pontos, o apache deve incluir "./" no nome do arquivo dentro do HTML . Isso tropeçou em nossos scripts:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<html>
 <head>
  <title>Index of /some_path/dir</title>
 </head>
 <body>
<h1>Index of /some_path/dir</h1>
<pre><img src="/icons/blank.gif" alt="Icon "> <a href="?C=N;O=D">Name</a>                                                                                                                                               <a href="?C=M;O=A">Last modified</a>      <a href="?C=S;O=A">Size</a>  <hr><img src="/icons/back.gif" alt="[PARENTDIR]"> <a href="/some_path">Parent Directory</a>
<img src="/icons/text.gif" alt="[TXT]"> <a href="./file1:has_colon.bios">file1:has_colon.bios</a> 2018-04-03 07:13  234K
<img src="/icons/text.gif" alt="[TXT]"> <a href="./file2:has_colon.bios">file2:has_colon.bios</a> 2018-04-03 07:13  234K
<img src="/icons/text.gif" alt="[TXT]"> <a href="file3_has_no_colon.bios">file3_has_no_colon.bios</a> 2018-04-03 07:13  234K
<hr></pre>
</body></html>

Alguém sabe por que isso acontece? Existe algum tipo de aplicação de nomes? E posso desligá-lo?

Editar

Como é apontado abaixo, isso se deve às convenções de nomenclatura URI. Eu achei o seguinte útil para o entendimento inicial: link

    
por Locane 04.04.2018 / 18:00

1 resposta

3

Isso é feito para evitar que um URI relativo não seja interpretado como um URI absoluto com um esquema desconhecido. É não algo que você deseja desativar, pois a quebra seria ainda pior. Corrigir seu script para lidar com isso deve ser trivial.

    
por 04.04.2018 / 18:05