1

我对 CodeIgniter 和路由系统有奇怪的问题,找不到解决方案,所以:我有几条路线,例如

'forum/(:num)'
    => 'forum/category/$1',
'forum/(:num)/(page:any)'
    => 'forum/category/$1/$2',

它们可以工作,但在标题中返回 404 代码。

我的意思是我没有得到 404 页面、正确的 HTML 返回和页面内容正确显示为我的论坛的类别。但是我在标题中得到 404(Firebug 中的网络选项卡),所以我无法正确处理 POST 数据。

如果我请求 /forum/ - 200 Ok 返回,但是当我尝试获取路由页面时,我得到了正确的页面,但 404 Not Found。

我在 Linux 主机上使用 PHP5.4+Apache2,如果它会帮助你给我解决方案。

4

2 回答 2

2

我找到了解决方案!也许它会节省某人的时间。

问题不在 CodeIgniter 中,我在激活 mod_rewrite 中找到了解决方案。是的,这有效,但没有在 Apache 中激活。

试着做

sudo a2enmod rewrite

并在之后重新启动apache服务

sudo service apache restart

并且所有路由页面都将返回 200 Ok

于 2013-07-23T14:12:59.817 回答
0

这些都不起作用,但我这样做了:

在我的控制器的末尾,我放了这个:

$this->output->set_status_header('200');

实际上,虽然这有效,但问题原来是控制器名称与真实目录名称冲突......

于 2014-02-01T02:53:17.527 回答