在codeigniter路由文件中动态重新路由

时间:2017-02-24 22:27:04

标签: php codeigniter routing

我有以下网址可以使用:

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)' ]

结果仍然相同

0 个答案:

没有答案