我有以下网址可以使用:
www.example.com/police/alarm/5
但是,在我的数据库中,我有一个带有一些名称值的表,其中一个值是'car'。
我想动态路由我的网址,如果其中一个名称值是我网址中的第一个网段,请忽略它并在没有它的情况下重新路由。 (我将在常量文件中根据此值设置一些变量。)
到目前为止,我在routes.php文件中的代码是:
require_once(BASEPATH.'database/DB.php');
$db =& DB();
$query = $db->where('org_type', 2)
->get('organization');
$result = $query->result();
foreach( $result as $row )
{
$route[ $row->name.'/:any' ] = '$1';
}
这给了我以下结果(做一个var_dump):
D:\wamp\www\codeigniter\codeigniter\application\config\routes.php:76:
array (size=11)
'default_controller' => string 'home' (length=4)
'404_override' => string 'error/my404' (length=11)
'translate_uri_dashes' => boolean false
'login' => string 'auth/login' (length=10)
'recoverAccount' => string 'auth/recover' (length=12)
'car/:any' => string '$1' (length=2)
'truck/:any' => string '$1' (length=2)
当我浏览到包含“car”或“truck”的网址作为我网址的第一部分时,如果没有它,它就不会重新路由到网址。
编辑:
$route[ $row->name.'/:any' ]
or
$route[ $row->name.'/(:any)' ]
结果仍然相同