2016-10-27 13 views
0

私はこれは良いCodeIgniterのルーティングでない場合

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

を働いているが、私はこの ない場合は=、ログインまたはプロファイルをしたい、この

のようなものをルーティングのCodeIgniterを設定したい、私はこれをしたいです

$route['not(login or profile)']   = "home/index/$1"; 

このコードは正しくありませんので、コードを教えてください。

私は彼らが私はこの domain.com/profile で行く場合1.ホーム 2.プロファイル 3.ログイン

今、私は、プロファイルコントローラを実行したい、と私は行く場合 3コントローラをしているしている

私は私のコントローラ domain.com/profile/john/edit からジョンこの名前を取りに行く必要がある domain.com/profile/john と私はまた、このジョン編集を取得する必要がありますコントローラから0。私はこの

domain.com/login 

に行けば

は今、それから私は、実行プロファイルコントローラをしたい、と私は

domain.com/login/best 

で行く場合、私は私のコントローラ

からこの名前最高を取りに行く必要があります
domain.com/login/best/sure 

また、私はこれを取得する必要がありますコントローラから確認最高。

と私は

domain.com/ 
or domain.com/bestoffer 
or domain.com/others 
or domain.com/blabla 

プロファイルのないドメインの後に何もして行くと、私はすべての

答えて

1

優先だから、

、あなたのルートファイルがどのように見えると言うことができますあなたのルートが上から下に解析されます、ここでは重要であり、それが見つかった最初の試合、ルーティングには適用され、

$route['login/(:any)'] = "login/index/$1"; 
$route['profile/(:any)'] = "profile/index/$1"; 
$route['(:any)'] = "controller/index/$1"; 

それはlogin/(:any)ないprofile/(:any)ないように、ここでは3番目のルールは、解析されます。


あなたのコントローラのパラメータを取得するには、

echo $this->uri->segment(1); 

は、実際にはそれを見るために、コントローラの最後であなたのルートファイル内の3番目のルールを入れ、およびセグメントブロック。

+0

私はこのような他のディレクトリからデータを取得していません domain.com/profile/john 私はこの** john **の名前を取得する必要があります –

+0

あなたのコントローラファイルまたはルートファイルで 'john'をしたいですか? – Viral

+0

ユーザー入力john私はコントローラからそれを取得したい場合は、ユーザーが青を入力し、コントローラから取得する必要があります。 –

0

、このいずれかを試してみてくださいだホームコントローラ

を実行する必要がありますログインする場合。

$route['(:any)'] = "home/index/$1"; 
+0

このようなサブルートを転送していません domain.com/something しかし、私はコントローラからこれを取得していませんでした。 –

+0

申し訳ありませんが、このような他のディレクトリからデータを取得していません domain.com/profile/john 私はこれを取得する必要があります**ジョン名** –

+0

コントローラdos'ntが存在する場合にのみhome/index/$ 1をロードしますか? –

関連する問題