Apache2、Uhuntu、PHP codeigniter 在尝试从 Chrome Android 而不是桌面时不断收到 404

Apache2, Uhuntu, PHP codeigniter keep getting 404 when trying from Chrome Android but not Desktop

嗨,Satckoverflow 的优秀编码员,

我有一个非常奇怪的错误,我确定这是我忽略的小错误。

因此,当从桌面 chrome 或桌面上的任何其他浏览器调用我的网站时,它工作得很好,而拖尾 apache2 记录 url I POST 显示为路径。

"/my_folder/index.php/Controller/function"

然而,当我从 Android Chrome 尝试时,我看到

"http://xx.xxx.xx.xx/my_folder/index.php/Controller/function" 除此之外,日志中没有明显的区别。

请记住它只会对 Post 请求失败。

但是在 Android Opera mini 浏览器中我没有遇到同样的问题。这很容易让人相信这是我已经排除的浏览器实现问题。

现在,当我在 windows 开发环境中使用 xampp 并让我的 phone 使用相同的 LAN 在我的 windows xampp 上访问它时,我可以正常访问它并且日志不显示主机 ip,这似乎是问题的路由原因。 (这就是排除浏览器实现的原因,因为它是相同的 chrome 浏览器,只是主机从 ubuntu 服务器上的 Apache2 更改为 windows 上的 xampp)

我遵守了控制器约定中的适当礼节,即 "Mycontroller extends CI_Controller" 和文件名 "Mycontroller.php"。这似乎是这些症状的常见原因。

请提供任何反馈或想法。

我在使用 Opera Turbo 选项和 Web 应用程序时遇到了一些问题。确保它被禁用。也许这会有所帮助?

所以在转了一圈之后我注意到在 Wifi 上我可以 post 到现场网站没有任何问题,而在 phone 数据包上我不能。拖尾日志显示,在 wifi 上我无法获得 post 请求中的 IP,而在数据包上我会,原因尚不清楚。

但是解决方案是转到 CI congig.php 并将此行从

更改为

$config['uri_protocol'] = 'AUTO';

$config['uri_protocol'] = 'PATH_INFO';

它就像一个魅力。我真的仍然想了解为什么我收到不同的 post 请求,具体取决于我使用的是数据包还是 Wifi?