私のウェブサイト ユーザーのアドレスが mydomain.com/username/ である必要があります。しかし、codeIgniter を使用するのは非常に難しいようです。最善の方法を教えてください。
mysite.com/profile?user=username はプロファイルの現在の URL ですが、この mysite.com/username が必要です
私を助けてください。私は英語が上手ではないので、私の質問を理解していない場合は申し訳ありません。
私のウェブサイト ユーザーのアドレスが mydomain.com/username/ である必要があります。しかし、codeIgniter を使用するのは非常に難しいようです。最善の方法を教えてください。
mysite.com/profile?user=username はプロファイルの現在の URL ですが、この mysite.com/username が必要です
私を助けてください。私は英語が上手ではないので、私の質問を理解していない場合は申し訳ありません。
routes.php
ファイルルートでは、既存のすべてのコントローラー (少なくとも 1 つある必要があります) をそれ自体にルーティングします。たとえばmain
、main.php
ファイルルートにコントローラーがある場合は、次のようにします。
$route['main'] = "main";
$route['main/(:any)' = "main/$1";
http://yoursite/main
2回ルーティングする必要があるのは、オープニングが同様に機能することを確認する必要があるためですhttp://yoursite/main/my_method/
。他のすべてのコントローラに対してこれを行います。
次のステップは、他のすべてをユーザー コントローラーにルーティングすることです。たとえば、profile
1 つの引数 (ユーザー名) を持つメソッドがあるとします。
$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";
それが機能するかどうかを確認してください!
route.php ファイルで、すべてのユーザーを選択し、それぞれのルートを作成します。
$aUsers = $this->oDb->getAllUsers();
foreach($aUsers as $oUser) {
$route[$oUser->username] = "profile/" . $oUser->username;
}
それはうまくいくはずです。