我对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,如果它能帮助你给我解决方案。
答案 0 :(得分:2)
我找到了解决方案!也许这会节省一些人的时间。
问题不在CodeIgniter中,我在激活mod_rewrite中找到了解决方案。是的,这很有用,但是在Apache中没有激活。
试着去做
sudo a2enmod rewrite
并在
之后重启apache服务sudo service apache restart
所有路由页面都将返回200 Ok
答案 1 :(得分:0)
这些都不起作用,但我这样做了:
在我的控制器结束时,我把它放在:
$this->output->set_status_header('200');
实际上虽然有效,但问题结果是一个与真实目录名冲突的控制器名称......