php 为什么我的网站在转到不存在的文件的URL时会重定向,即使我没有.htaccess重定向功能?

k5ifujac  于 2022-12-10  发布在  PHP
关注(0)|答案(1)|浏览(145)

我已经研究了好几天了...
当我转到一个不存在的.jpg的URL时,我的网站会将我重定向到一个关闭的文件(明显有1个字符的差异)。例如:如果12345.jpg存在但1234.jpg不存在,则1234.jpg将重定向到12345.jpg。
这个网站是不是在WordPress或其他类似的平台。我采取了现有的代码,并开发了它。我可以通过Filezilla访问所有的文件和目录。我搜索了。htaccess,但他们都没有重定向行。我试图删除。htaccess太,但同样的问题。
我在想,如果我们找不到问题的根源,也许你们中的一些人知道如何编写一些代码,在本地防止任何重定向发生?
非常感谢您的帮助!

6rvt4ljy

6rvt4ljy1#

这听起来像是在服务器配置中启用了mod_speling(一个l)。
mod_speling在请求一个不存在的文件时会扫描目录。如果存在“接近匹配”(例如1个字符的差异),则会发出301重定向到该文件。(尽管如果存在多个“接近匹配”的文件,则会向用户显示可用文件的列表!)
您可以使用以下命令在.htaccess中禁用此行为:

CheckSpelling Off

默认情况下,此选项处于禁用状态,因此需要在服务器配置中的其他位置显式启用此选项。(如果您具有访问权限,则最好不要首先启用此选项。)
请注意,由于发出了301(永久)重定向,因此您需要在测试之前清除浏览器(和任何中间设备)缓存。

  • 旁白:* CheckCaseOnly指令(mod_speling的一部分)更常用于将拼写更正限制为仅 case,即启用不区分大小写的URL。

相关问题