1

現在,當CodeIgniter未找到路由或uri路由的控制器時,它將顯示一個通用的404頁面。我怎樣才能顯示訪問的路線或控制器或一些有用的東西,讓我調試爲什麼它顯示404?CodeIgniter在404頁顯示訪問的路由/轉換控制器

代碼:

switch ($_SERVER['HTTP_HOST']) { 
    case 'multiplelines.domain.ro': 
      $route['default_controller'] = "subdomain"; break; 
    default: $route['default_controller'] = "welcome"; break; 
} 


$route['scaffolding_trigger'] = ""; 
$route['404_override'] = ''; 
if($_SERVER['HTTP_HOST'] == "www.domain.ro" 
    || $_SERVER['HTTP_HOST'] == "domain.ro") 
{ 
    // URI like '/en/about' -> use controller 'about' 
    $route['^(romana|english|magyar)/(.+)$'] = "$2"; 

    // '/en', '/de', '/fr' and '/nl' URIs -> use default controller 
    $route['^(romana|english|magyar)$'] = $route['default_controller']; 
} 
else 
{ 

} 

預期的效果: 當WWW或空的子域路由會發生這樣的: /語言/測試會去當另一個子域測試控制器

(我只是列出一個案例)將被路由到子域控制器,因爲我只想爲這些控制器使用一個控制器。

注意:現在,當在www或空子域名上有代碼自動爲/ test路由選擇測試控制器(uri中沒有語言目錄)的語言。

+0

複製粘貼你的路由器代碼不工作.. – Svetoslav

+0

按要求添加的代碼。謝謝 – Octavian

+0

所以你想讓CI向你展示它首先找不到的東西? :)(「如何顯示訪問的路由或控制器」) – 2012-10-25 13:57:48

回答

1

當CI不發現它知道一個頁面正確的路線,有沒有這樣的頁面,以便它給404不存在..

如果用戶嘗試在你的網站打開/ sgasgasggsasga頁它得到404同樣的道理..

你必須自己找到爲什麼它顯示404 ...

http://codeigniter.com/user_guide/general/routing.html用於幫助:)

0

使您的應用程序error logging

然後,一旦你查找錯誤,你會看到被請求生成404錯誤的URI。

0
我如何可以顯示訪問路徑或控制器或一些有用的東西,讓我調試爲什麼它表現出了404?

您可以在404視圖中回顯$ _SERVER ['REQUEST_URI']以確定用戶試圖去的地方。