问题如下:
我部署了一台服务器,由于某种原因服务器不像往常一样响应URL。我的意思是当我将一个名为somefile.php
的文件上传到mysite.com/
并输入浏览器mysite.com/somefile
时,调用文件somefile.php
而不是说找不到404。我认为这很奇怪,并且由于某种原因它会阻止我的.htaccess文件正确重写,因为调用somefile.php文件,如果mysite.com/somefile
之后有mysite.com/somefile/someotherfile
之后的信息,{{1}被忽略并显示someotherfile
。我甚至在服务器的父目录中删除了所有其他.htaccess文件,但结果仍然相同。我希望你能帮我。
在localhost上没有观察到此问题。我找不到404因为我应该......
答案 0 :(得分:2)
听起来您当前已启用 MultiViews 。尝试禁用它们。
<强>在Multiviews 强>
MultiViews是一个每个目录选项,这意味着它可以设置 在a或中使用Options指令 httpd.conf中的部分,或者(如果正确设置了AllowOverride) .htaccess文件。请注意,选项全部不设置MultiViews;您 必须按名称提出要求。
MultiViews的效果如下:如果服务器收到了 请求/ some / dir / foo,如果/ some / dir启用了MultiViews,并且 / some / dir / foo不存在,然后服务器读取目录 寻找名为foo。*的文件,并有效地伪造一个类型地图 它命名所有这些文件,为它们分配相同的媒体类型和 如果客户要求其中一个,它将具有内容编码 他们的名字。然后它选择与客户的最佳匹配 要求。
http://httpd.apache.org/docs/2.2/content-negotiation.html#multiviews