2011-01-08 9 views
2

anythingがコントローラ名でない場合、http://example.com/anythinganythingをデフォルトコントローラ(つまりcategory_browser)に渡す必要があります。別のコントローラが指定されていない限り、すべての要求を特定のコントローラにルーティングします。

最初の部分は簡単にconfig/routes.phpにこのラインで達成される:

$route[':any'] = "category_browser"; 

私は二番目の作業を取得するために管理しませんでした。

私は本当に入力を感謝します。

その他の情報:コントローラの数はかなり少ないです。それぞれのオプション行を書くことはオプションです。パラメータを渡す必要があります。

答えて

2

使用この: http://pinoytech.org/blog/post/CodeIgniter-Route-Everything-except-these-Controllers

$route['^(?!controller|controller|controller)\S*'] = "article/$1"; 
+0

信じられないほど!あなた、<ここの主題名>は、<ここの主人公の誇り>でなければなりません! – cbrandolino

+0

私が助けることができてうれしいよ:) –

+0

カテゴリブラウザがデフォルトのコントローラの場合は、それを心配する必要はありません。もちろん、あなたのカテゴリーの1つがコントローラーと名前を共有している場合を除きます。 – Louis

1

すべてを指すマスターコントローラを作成します。マスタコントローラでは、設定されているコントローラ名が存在するかどうかを確認し、存在する場合はそれを実行し、そうでない場合は、代わりにコントローラ名を使用してcategory_browserを呼び出します。

+0

私。あなたは今、気分が悪いとは思わないでしょう。 – cbrandolino

+0

ああ待ってください。実際には、CIのコントローラー内でコントローラーを呼び出すことはできません。このソリューションを使用する必要があります。 – cbrandolino

+0

リダイレクト123456 – dqhendricks

関連する問題