2017-07-08 51 views

回答

2

爲了映射www.domain.com/servicespages/services你會是這樣的:

$route['services'] = 'pages/services' 

如果要映射www.domain.com/whateverpages/whatever和任何有幾個變種,你有幾個控制器,那麼你會怎麼做:

//爲所有控制器創建高於此值的規則。

$route['(:any)'] = 'pages/$1' 

也就是說,你需要爲你所有的controllers/actions,最後一個創建的規則應該是一個包羅萬象的規則,正如上文所指出。

如果你有太多的控制器和要解決這個特定的路線,將在您的routes.php文件是安全的:

$path = trim($_SERVER['PATH_INFO'], '/'); 
$toMap = array('services', 'something'); 
foreach ($toMap as $map) { 
    if (strpos($path, $map) === 0) { 
     $route[$map] = 'pages/'.$map; 
    } 
} 

注意,而不是$_SERVER['PATH_INFO']你可能想嘗試$_SERVER['ORIG_PATH_INFO']或任何組件爲您提供完整的網址路徑。 另外,上面沒有經過測試,它只是一個讓你開始的例子。

CodeIgniter Routes - remove a classname from URL for one class only

1

試試這個:

$route['(:any)'] = "account/$1"; 
相關問題