我正在開發一個使用codeigniter的新網站,這是我的第一個codeigniter體驗。我懷疑有些東西與404錯誤無關,當我嘗試加載一個不存在的控制器或現有控制器的功能錯誤時,我找回了標準的Web服務器404錯誤,而不是codeigniter錯誤。Codeigniter不顯示404錯誤頁面
我沒有碰到路由配置文件中的「404_override」選項。 這是正常的嗎?我期望(但也許我錯了),在這些情況下show_404()函數被調用。
我正在開發一個使用codeigniter的新網站,這是我的第一個codeigniter體驗。我懷疑有些東西與404錯誤無關,當我嘗試加載一個不存在的控制器或現有控制器的功能錯誤時,我找回了標準的Web服務器404錯誤,而不是codeigniter錯誤。Codeigniter不顯示404錯誤頁面
我沒有碰到路由配置文件中的「404_override」選項。 這是正常的嗎?我期望(但也許我錯了),在這些情況下show_404()函數被調用。
您的.htaccess文件是否設置正確?
RewriteEngine on
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]
您必須設置.htaccess文件才能使自定義錯誤頁面正常工作。結帳官方documentation。
我沒有刪除index.php,因爲我在IIS6的Web服務器上,沒有辦法做到這一點(我幾分鐘前檢查)。在Apache服務器上正確加載CI錯誤消息,而IIS服務器不斷顯示舊的醜陋404頁面。 – rigobot 2012-07-12 15:30:14
用可能的解決方案編輯我的答案。 – Robert 2012-07-12 15:57:26
對不起,這個重寫引擎是否必須使CodeIgniter正常工作?我的意思是,如果我不需要在url中刪除「index.php」段,爲什麼我應該設置一個重寫引擎? 謝謝你的幫助! – rigobot 2012-07-12 19:13:27