好吧,我的应用程序已运行好几个月了。从今天早上开始,我的所有自定义路线都不再有效。
在名为'mL'的文件夹中有一个名为'stuff'的控制器。设置自定义路线:
$route['default_controller'] = "mL/stuff";
然后访问'website.com/',工作正常,让我进入'controllers / mL / stuff'控制器。现在,如果我尝试使用自定义路线:
$route['stuff'] = "mL/stuff";
并访问'website.com/stuff'我会收到我的404页面(在$ route ['404_override']中设置)。
我的所有控制器都是如此,如果我将它设置为default_controller,它可以正常工作。其他人在周末将服务器升级到了PHP 5.4.9,这是我能想到的唯一可能影响到这一点的东西,但我无法弄清楚如何/为什么。
答案 0 :(得分:1)
我不认为php升级本身会这样做,但其他东西必须要修改。
我唯一能想到的是htaccess或apache配置/设置已被更改 - 可能全部或部分htaccess不再作为结果(例如mod_rewite不再启用)
尝试在配置和url中恢复index.php以查看页面是否加载?
您可以检查是否启用了mod-rewrite。检查httpd.conf是否为您的目录设置为allowOverride ALL,并且未注释掉mod_rewrite行。
点击此处查看完整详情:http://www.tildemark.com/enable-htaccess-on-apache/
将来,如果它破裂了,不要更新它!
答案 1 :(得分:0)
同样的情况发生在我身上,无法解决问题,但我回滚到php 5.3.x并且它将再次工作,直到我们从codeigniter团队得到适当的更新,但最后更新如下所示
我非常怀疑这与PHP有关。我猜那是另一个 Apache(和mod_rewrite)的版本与PHP 5.4一起使用,我看 到httpd.conf和/或.htaccess
由narfbg