2012-02-19 8 views
0

私はCodeIgniterの2を使用して構築されたウェブサイトhttp://example.comは、デフォルトのコントローラは、私がpageXにアクセスしようとすると、リンクがhttp://example.com/en/domain/view/pageXをする必要があります
codeigniterのすべてのコントローラをデフォルトコントローラにルーティングするには?

$route['default_controller'] = "domain"; 

である持っています。私は、ウェブサイトの訪問者が

http://example.com/pageX 

を入力してこのページにアクセスできるようにしたい
私は

$route['(:any)'] = "view/$1"; ==> it gives 404 Page Not Found 
$route['(:any)'] = "domain/view/$1"; ==> it redirects to homepage with link shown as http://example.com/en/pageX 
$route['(:any)'] = "en/domain/view/$1"; ==> it gives 404 Page Not Found 

を試してみましたが、それらの非は私のために働きました。この追加することにより、

EDIT

$route['(:any)'] = 'domain/view/$1'; 
$route['en/blog'] = 'domain/view/blog'; 

example.com/blogは 罰金に動作しますが、私は管理ページ以外のすべてのページをカバーするために、より一般的である必要があり、このような何か:

$route['(:any)'] = 'domain/view/$1'; 
$route['^(?!admin).*'] = 'domain/view/$o'; 
//The above routes will show the home page only for whatever i try!! 

私が追加しなければならないルートは何ですかroutes.php

答えて

0

$route['default_controller'] URIが存在しない場合に呼び出されます。 $route['404_override']を使用して完全な「すべてをキャッチ」します。

があなたのルーティングパターンの作業を取得するには、これを試してみてください。

$route['[^/]*/(.*)'] = 'en/domain/view/$1'; 
+0

感謝をすることによって私の問題を管理している,,,が、これは動作しませんでした!私はhttp://example.com/PageXを使用してhttp://example.com/en/domain/view/PageXにルーティングしようとしています....あなたが提供した正規表現が自分の入力と一致しません。 ..私は正しい? – Lina

+0

私は誤解しました。更新しました。 – landons

+0

もうまくいきませんでした。 "404ページが見つかりませんでした";( – Lina

0

は、私はあなたの助けのために、この

 
$route['^[a-z]+$'] = 'domain/view/$1'; 
$route['([a-z]{2})/([a-z_]{1,50})'] = 'domain/view/$2'; 
関連する問題