我的網址這樣如何笨使用路由
"mydomain.com/index.php/user/rbkdon3"
我要作出這樣一個網站的創建Facebook的URL類型用戶名是字母+數字的組合。
我應該在routes.php文件中做些什麼才能達到我的要求。
我的網址這樣如何笨使用路由
"mydomain.com/index.php/user/rbkdon3"
我要作出這樣一個網站的創建Facebook的URL類型用戶名是字母+數字的組合。
我應該在routes.php文件中做些什麼才能達到我的要求。
必須使用Apache重寫模塊和使用的.htaccess第一
RewriteEngine on
RewriteCond $1 !^(index\.php|(.*)\.swf|forums|images|css|downloads|jquery|js|robots\.txt|favicon\.ico)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ ./index.php?$1 [L,QSA]
和applications/config/config.php
$config['index_page'] = "index.php";
和路由刪除index.php
與
$route['(^(?=[^\s]*?[0-9])(?=[^\s]*?[a-zA-Z])[a-zA-Z0-9]*$)'] = "user/$1";`
正則表達式被更新
thnks for你的答案,這是對我的項目中的其他控制器的代碼效果.. ????? $ route ['(:any)'] =「user/$ 1」的b'coz;用正則表達式編輯的 –
,當包含數字和字符串的值使用user/$ 1 – dhidy
通過這種方式,你可以實現它。
$route['(:any)'] = 'user/'.$username;
動態創建這條路線是有點複雜
我們必須創建這條路線只有當數據庫中的用戶退出,所以不會影響到其他控制器。在您的routes.php中輸入以下代碼
$username = explode('/', $_SERVER['REQUEST_URI']);
require_once(BASEPATH .'database/DB'. EXT);
$db =& DB();
$query = $db->where('username', $username[1]); //check user name
$query = $db->get('tbl_users'); //table name in which user exits
if($query->num_rows > 0){ //if exits the create routing
$route['(:any)'] = 'user/'.$username[1]; // here you can define any controller and function name as required for the demo I have given this "'user/'.$username[1]"
}
注意:使用.htaccess文件從url中刪除index.php。
可能重複的[用PHP重寫URL](http://stackoverflow.com/questions/16388959/url-rewriting-with-php) –
但我想通過遵循路由在codeigniter –