0

私のウェブサイト ユーザーのアドレスが mydomain.com/username/ である必要があります。しかし、codeIgniter を使用するのは非常に難しいようです。最善の方法を教えてください。

mysite.com/profile?user=username はプロファイルの現在の URL ですが、この mysite.com/username が必要です

私を助けてください。私は英語が上手ではないので、私の質問を理解していない場合は申し訳ありません。

4

2 に答える 2

2

routes.phpファイルルートでは、既存のすべてのコントローラー (少なくとも 1 つある必要があります) をそれ自体にルーティングします。たとえばmainmain.phpファイルルートにコントローラーがある場合は、次のようにします。

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

http://yoursite/main2回ルーティングする必要があるのは、オープニングが同様に機能することを確認する必要があるためですhttp://yoursite/main/my_method/。他のすべてのコントローラに対してこれを行います。

次のステップは、他のすべてをユーザー コントローラーにルーティングすることです。たとえば、profile1 つの引数 (ユーザー名) を持つメソッドがあるとします。

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

これで、他のすべてが にルーティングされusers/profile/usernameます。

覚えておくべきことの 1 つは、最上位の優先度がファイル内で高くなるということです。routes.phpそのため、routes ファイルは次のようになります。

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

それが機能するかどうかを確認してください!

于 2012-08-25T12:11:37.037 に答える
0

CIルーティングを使用できます

route.php ファイルで、すべてのユーザーを選択し、それぞれのルートを作成します。

$aUsers = $this->oDb->getAllUsers();
foreach($aUsers as $oUser) {
    $route[$oUser->username] = "profile/" . $oUser->username;
}

それはうまくいくはずです。

于 2012-08-25T10:52:00.870 に答える