好的,我刚刚将服务器从共享主机切换到专用服务器,除了一个问题外,一切似乎都运行相同。在我开始之前,我应该提到两台服务器在 LAMP 堆栈上运行完全相同的 codeigniter 配置
我认为仅通过示例来展示是最容易的,因此它们是:
URI: /search/term/%
新服务器结果:错误请求 - 服务器错误
旧服务器结果:执行搜索并返回 % 的结果
URI: /search/term/%20
新服务器结果:搜索并返回空格的结果(%20 的翻译)
旧服务器结果:搜索并返回空格的结果(%20 的翻译)
URI: /search/term/%2F
新服务器结果:未找到 - 服务器错误
旧服务器结果:搜索并返回 / 的结果(%2F 的翻译)
我希望服务器在这些实例中产生结果,就像以前的服务器一样。
UPDATE
Senario #3 已解决,但第一个问题仍然存在,我无法弄清楚。我想添加更多关于它的细节,以便深入了解它。
确切的错误消息是:
400 Bad Request Bad;您的浏览器发送了此服务器无法理解的请求。
- 当我检查 apache 错误日志时,那里没有关于此错误的任何信息。
- 结果在所有浏览器中以及在清除缓存后都是相同的。
- 最后,我很确定我正确设置了AcceptPathInfo On,因为当我转到 url: /robots.txt/klsdfj (不是真实位置)时,它会生成 robots.txt 文件的内容。据我所知,这是该指令的正确功能。
如果需要任何进一步的信息,请告诉我,我很乐意提供。谢谢!!