2013-11-15 60 views
1

我想從「users/profile/username」加載用戶的配置文件,其中用戶名與$ username(沒有$ sign)相同,我怎樣才能爲這個路由定義規則?

我確實想在我的網址中保留「$」。

這意味着當輸入mysite.com/$username時,CI會將此請求路由到mysite.com/users/profile/username(現在不需要$ sign,因爲它只是表明請求是用於「用戶名在航線使用

$config['permitted_uri_chars'] = 'a-z 0-9~%.:_\-+$'; 

然而,這可能是安全漏洞

:「和它不是一個控制器)

回答

0

加$的配置

$route['mysite.com/(:any)'] = 'users/profile/$1' 
+0

不需要添加'$', – tomexsans

+0

這個方法,你需要確保你擁有的任何其他路由在'$ route ['mysite.com /(:any)'之前的routes.php文件中列出] ='users/profile/$ 1''否則所有的請求將被路由到那裏。 – mic

+0

這個$ route ['mysite.com /(:any)'] ='users/profile/$ 1'將用於這個目的,但是如果我使用它......我會強制所有的控制器通過這個「用戶/配置文件「,我不想這樣做。其中一個原因是,我在用戶名之前有$ sign,因爲它會告訴系統這是一個用戶名,所以加載這個配置文件。沒有$ codeigniter將把它作爲控制器或方法的調用。我希望你明白我的觀點。我不想讓某人有用戶名稱,因爲這是我的班級名稱?如果一個字符串以$符號開頭,然後是text/num,那麼rest就是用戶名... –