2010-12-28 8 views
0

ユーザがurl.com/usernameを入力すると、プロファイルページが表示されます。私はroutes.phpのファイルにこれを設定:ルーティングのためにコントローラをロードできません

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

しかし、私は、ログインコントローラ(url.com/login/)例えば呼び出したいとき、今私はまたuserpage(URLにリダイレクト取得しています。 com/users/profile/login)にログインします。

誰にでも解決策がありますか?

答えて

3

他のすべてのページを(:any)の前にルーティングする必要があります。

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

ああ、ありがとう、また簡単な方法がありますか?それは各ページのためにそれをする多くの仕事のようです。 – Rolf

+0

$ route ['(:any)']を使うと、ルーティングしたくないページを明確に記述する必要があります。その周りの唯一の方法は、$ route ['users /(:any any)']のようなものをすることです...しかし、それはurl.com/usernameの必要性に合わないでしょう。 – TerryMatula

+0

TerryMatulaが正しいです。 $ route ['(:any)']でこれを行う簡単な方法はありません。すべてのコントローラをルーティングする必要があります。しかし、あなたのコントローラに複数のメソッドがある場合(login/index、login/index2など)、$ route ['login /(:any)'] = "login/$ 1"; – navruzm

関連する問題