2010-03-21 54 views
1

我正在试验codeigniter,但并不真正了解链接是如何工作的。codeigniter中的链接

例如,我有这样一个链接:

本地主机/ CI /首页/ CAT/7

我的基本网址为localhost/CI,所以通过点击该链接,我会期待方法控制器“欢迎”的“猫”被调用。

这个方法很简单:

function cat() 
    { 
     echo "just a test."; 
    } 

非常基本的 - 我希望看到屏幕上的文字,但我只看到了404页随机没有发现错误。

可能是什么问题?

回答

2

您是否已经为CodeIgniter正确配置mod_rewrite(或一般的URL重写)?它不支持开箱即用。

他们在wiki有一些说明。

+0

我有这个htaccess文件: RewriteEngine叙述上 的RewriteCond $ 1→(索引\ .PHP |图片|验证码| CSS | JS |机器人\ .TXT) 重写规则^ $ /index.php/!(*)。 $ 1 [L] 我从我用来学习codeigniter的书中复制它,所以我不完全确定它的功能。 你认为没关系吗? – Patrick 2010-03-21 15:11:07

+0

PS不知道它是否有任何区别,但我使用MAMP – Patrick 2010-03-21 15:13:33

+0

类型的“延迟回复”,但你有没有启用Apache的mod_rewrite?您必须编辑httpd.conf才能这样做。 – Veeti 2010-04-18 13:43:00

0

我曾与重写规则问题的用户指南建议。我也得到404s。我必须在规则中的index.php之前删除斜线。

RewriteEngine on 
RewriteCond $1 !^(index\.php|images|robots\.txt) 
RewriteRule ^(.*)$ index.php/$1 [L] 

正如Veeti所说,还记得要为Apache启用mod_rewrite。

+0

删除斜杠,但仍然无法正常工作。 我已经检查了文件httpd.conf(在mamp/conf/apache中),它包含这个:LoadModule rewrite_module modules/mod_rewrite.so 所以我认为模块加载正确? 我试了几个不同的链接,并注意到 localhost/ci/welcome/test打开谷歌404(“哎呀!这个链接似乎被打破) 而localhost/ci/index.php/welcome /测试会打开codeigniter 404. 不知道这是否有所作为? – Patrick 2010-03-22 00:11:53

+0

当您进入localhost/ci/index.php/welcome时,您会看到CodeIgniter欢迎页面吗? – 2010-03-22 09:00:22