2012-03-04 72 views
0

我允許用戶使用個人資料的網址,如:domain.com/AwesomeUser友好輪廓的URL混淆與控制器

在我的路線:

$route['(:any)'] = 'user'; 

,我有問題,我的控制器現在都無法訪問,我可以這樣做:

$route['blog'] = 'blog'; 
$route['blog/(:any)'] = 'blog/$1'; 
$route['contact'] = 'contact'; 

對於每一個控制器和參數我有,但它只是不可靠,我想這樣計算更有效率,我也有一個控制器名稱陣列,我想排除:

$reserved_names = array(
    'blog', 
    'page', 
    'contact' 
); 

任何想法?

+0

你可以使用'domain.com/profiles/AwesomeUser' – 2012-03-04 15:57:14

+0

@Shiplu我知道,但我不喜歡它。 – Ryan 2012-03-04 15:58:36

+0

也許訂單起作用?如果你讓用戶在所有時間結束? – hakre 2012-03-04 16:06:21

回答

1

這可以幫助你

$reserved_names = array(
    'blog', 
    'page', 
    'contact' 
); 
foreach ($reserved_names as $name) 
{ 
    $route[$name] = $name; 
    $route[$name.'/(:any)'] = $name.'/$1'; 
} 

$route['(:any)'] = 'user'; 
1

總是把你的通配符最後。 路線以您定義它們的順序工作,第一個列表==首先調用一次。