I ran in to this today running httpd on Centos 7.3. We do a lot of raw getting of apache-generated HTML docs for file download. Apparently, if a file name has a colon, apache well prepend "./" to the file name within the HTML. This tripped up our 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>
Does anyone know why this is? Is there some kind of name enforcement it's doing? And, can I turn it off?
Edit
As is pointed out below, this is due to URI naming conventions. I found the following helpful for beginning understanding: https://stackoverflow.com/questions/176264/what-is-the-difference-between-a-uri-a-url-and-a-urn