网站:要求重写的文件名

我一直无法通过searchfind答案。

我有一个网站(我不pipe理服务器)的服务器将服务于一个不同的文件比请求。 我第一次注意到这一点时,使用以下forms的文件名:

_foo.php (单下划线)

如果我请求foo.php (不存在),服务器返回_foo.php 。 “返回”我的意思是服务器决定我的意思是_foo.php ,处理php文件,并提供输出。

如果我请求afoo.phpzfoo.php或甚至__foo.php (两个下划线)(这些文件不存在),服务器返回_foo.php

如果我请求aafoo.php ,服务器返回404。

总结一下:服务器似乎在做一个部分文件名匹配。

我的问题是:发生了什么事情,这是一个Web服务器的接受行为(或普通的mod /包/等的标准行为)?

听起来像你的虚拟主机有mod_speling运行。

phpinfo()页面将显示模块是否加载到apache中,或者您可以在.htaccess文件中盲目地尝试这个指令

 <IfModule speling> CheckSpelling Off </IfModule> 

(我没有检查上面ifModule语句….被警告!)

你将不得不和服务器pipe理员交谈,以获得明确的答案。 我们不知道他们设置了什么,也不能为任何人提供明确的信息来识别问题。 但是,是的,他们有可能重写规则和其他机制,可能造成这种情况。