0

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

在名为“mL”的文件夹中有一个名为“stuff”的控制器。设置自定义路由:

$route['default_controller'] = "mL/stuff";

然后访问“website.com/”,工作正常,将我带到“控制器/mL/stuff”控制器。现在,如果我尝试使用自定义路线:

$route['stuff'] = "mL/stuff";

并访问 'website.com/stuff' 我会被发送到我的 404 页面(在 $route['404_override'] 中设置)。

这对我的所有控制器都是如此,如果我将其设置为 default_controller 它可以正常工作。周末有人将服务器升级到 php 5.4.9,这是我能想到的唯一可能会影响这一点的事情,但我不知道如何/为什么。

4

2 回答 2

1

我不认为 php 升级本身会做到这一点,但其他东西肯定有修补。

我唯一能想到的是 htaccess 或 apache 配置/设置已更改 - 结果可能您的全部或部分 htaccess 不再工作(例如不再启用 mod_rewite)

尝试恢复配置中的 index.php 和 url 以查看页面是否加载?

你能检查一下是否启用了mod-rewrite。检查 httpd.conf 是否设置为您的目录的 allowOverride ALL 并且 mod_rewrite 行没有被注释掉。

在此处查看完整详细信息:http ://www.tildemark.com/enable-htaccess-on-apache/

将来,如果它没有损坏,请不要更新它!

于 2012-12-10T23:39:41.540 回答
0

我也遇到了同样的情况,无法弄清楚,但我回滚到 php 5.3.x,它会再次工作,直到我们从 codeigniter 团队获得适当的更新,但最后一次更新如下所示

我高度怀疑这是与 PHP 相关的。我猜想 PHP 5.4 使用了另一个版本的 Apache(和 mod_rewrite),我会查看 httpd.conf 和/或 .htaccess

通过 narfbg

于 2012-12-11T11:30:06.220 回答