3

CodeIgniter Web サイトで最初の URI セグメントを使用したいのですが、助けてください。

これらの URL を開くと、私のプロフィールが開きます: http://www.facebook.com/buddyforever または http://www.myspace.com/zarpio

CodeIgniter でこれを行うにはどうすればよいですか? 機能を確認_remapしましたが、最初に来るコントローラーはコントローラーを非表示にする方法ですか?

4

1 に答える 1

9

これは、codeigniter の URL ルーティングを使用して行うことができます...

URL を にしたい場合http://www.mydomain.com/zarpioyour_controller、次のようにします。

/config/routes.php

$route['(.*)'] = "your_controller/$1"; // Now, `zarpio` will be passed to `your_controller`

このようにコントローラーでアクセスできます...

$my_name = $this->uri->rsegment(2);

ただし、この方法で URL を構成することはお勧めしません。より良い方法は...

$route['users/(.*)'] = "your_controller/$1";

このように、コントローラー名your_controllerを に変更するだけですusers

ユーザーのプロフィールにアクセスしたい場合は、次のようにできます...

$route['users/profile/(.*)'] = "another_controller/method/$1";
$route['users/(.*)'] = "your_controller/$1";

ルーティングの順序を考慮してください。あなたのルートに書いたので、それはと同様users/(.*)に一致し、両方を にルーティングします。プロファイルの場合はエラーになります。そのため、ルーティング構成の前に記述する必要があります。users/zarpiousers/profile/zarpioyour_controller/$1404 page not foundusers/profile/(.*)users/(.*)

詳細については、codeigniter URI クラスのドキュメントを参照してください

于 2010-09-01T04:34:08.023 に答える