2017-07-08 79 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"; 
相关问题