CodeIgniter为所有路由返回404,但有效

时间:2013-07-23 09:35:11

标签: codeigniter-2 codeigniter-url

我对CodeIgniter和路由系统有奇怪的问题而无法找到它的解决方案,所以:我有几个路由,如

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

它们有效,但在标题中返回404代码。

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

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

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

2 个答案:

答案 0 :(得分:2)

我找到了解决方案!也许这会节省一些人的时间。

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

试着去做

sudo a2enmod rewrite

并在

之后重启apache服务
sudo service apache restart

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

答案 1 :(得分:0)

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

在我的控制器结束时,我把它放在:

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

实际上虽然有效,但问题结果是一个与真实目录名冲突的控制器名称......