2010-03-21 50 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