2016-06-25 78 views
0

如何爲Main控制器中的每個頁面配置路由?Codeigniter默認控制器在主索引頁上工作,但不在主控制器內的頁面

Codeigniter默認控制器僅適用於Main索引頁面,但不適用於events控制器中的Main頁面。 (見下)

我想http://example.com/main/events改爲http://example.com/events


此鏈接到Main控制器的索引頁,它應該像:

http://example.com/ 

Main控制器該活動頁面將帶您到404錯誤頁面:

http://example.com/events 

events頁面僅適用於URL中的默認控制器,如下所示:

http://example.com/main/events 

我routes.php文件文件的內容:

$route['default_controller'] = 'Main'; 
$route['404_override'] = 'main/error404'; 
$route['translate_uri_dashes'] = FALSE; 

.htaccess文件的內容:

RewriteEngine on 
RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ index.php?/$1 [L] 

回答

1

試試這個。它會帶你到events頁時,您的網址將http://example.com/events

$route['default_controller'] = 'Main'; 
$route['events'] = 'main/events'; 
$route['404_override'] = 'main/error404'; 
$route['translate_uri_dashes'] = FALSE; 
0

這是路由器的笨是如何工作的。您可以:

  1. 移動邏輯在function events() {...}功能,它自己的class Events extends是CI_Controller {}`控制器的指數函數

  2. 設置自定義路線在config/routes.php配置文件的方法,您Main控制器是這樣的:(你可以使用(:any)等參數,以及):

    $route['events/(.*)'] = 'main/events/$1'; 
    
1

application/config/routes.php

$route['events'] = 'main/events'; # www.example.com/events 
$route['newPath'] = 'controller/exactPath'; # www.example.com/newPath 

.htaccess(外應用程序文件夾)

RewriteEngine on 
RewriteCond $1 !^(index\.php|assets|image|resources|robots\.txt) 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ index.php?/$1 [L,QSA] 
+0

這應該是答案 –

相關問題