CodeIgniter自定义路由损坏(可能是PHP 5.4问题)

时间:2012-12-10 20:50:58

标签: php codeigniter routing controller

好吧,我的应用程序已运行好几个月了。从今天早上开始,我的所有自定义路线都不再有效。

在名为'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,这是我能想到的唯一可能影响到这一点的东西,但我无法弄清楚如何/为什么。

2 个答案:

答案 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