簡體   English   中英

如何在CodeIgniter中更改URL?

[英]How to Change URL in CodeIgniter?

我必須將www.sample.com/users/user/username更改為www.sample.com/username ,但是當我轉到sitename/username它會顯示404頁面。 我試圖路由,並且uri->segment ,但我不能uri->segment工作。 請幫我解決這個問題!

將此行添加到config/routes.php文件中。

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

請注意,如果執行此操作,則必須手動添加其他控制器/操作的例外才能工作。 因此,如果您有一個帖子控制器,您的路線文件現在是:

$route['posts'] = "posts";
$route['posts/(:any)'] = "posts/$1";
$route['(:any)'] = "users/user/$1";

而且你必須為你擁有的不是用戶/用戶的每個控制器/操作執行此操作。 您還必須防止用戶名與其他控制器/操作同名。

在您的system/application/config/routes.php ,添加以下內容:

$route['^(?!<otherController1>|<otherController2>).*'] = "users/user/$1";

請注意,您需要將<otherController1>|<otherController1>替換為其他實際控制器的實際名稱,例如:

$route['^(?!welcome|post).*'] = "users/user/$1";

並且因為您不希望Users控制器的其他方法與用戶名沖突,所以我們需要路由所有其他Users控制器方法。 例如:

$route['user/subscribe']            = "user/subscribe";
$route['user/username_exists']      = "user/username_exists";
$route['user/email_exists']         = "user/email_exists";
$route['user/signup']               = "user/signup";

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM