2012-02-19 110 views
0

我使用笨2.建立了一个网站http://example.com默认的控制器是
如何将所有内容都路由到codeigniter中的默认控制器?

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

如果我尝试访问pageX属性,链接应该http://example.com/en/domain/view/pageX
我想允许网站访问者通过键​​入

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 

但其中非为我工作。

编辑

加入这样的:

$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

如果不存在URI,则调用$route['default_controller']。使用$route['404_override']完整“全部抓住”。

为了让你的路由模式工作,试试这个:

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

感谢您的帮助管理我的问题,,,但这并没有工作!我正尝试使用http://example.com/PageX路由到http://example.com/en/domain/view/PageX ....所以您提供的正则表达式与我的输入不匹配。 .. 我对吗? – Lina 2012-02-19 21:31:33

+0

我误解了。更新。 – landons 2012-02-19 22:35:58

+0

没有工作,,,仍然给“404页面找不到”;( – Lina 2012-02-20 08:31:08

0

我已经这样做

 
$route['^[a-z]+$'] = 'domain/view/$1'; 
$route['([a-z]{2})/([a-z_]{1,50})'] = 'domain/view/$2'; 
相关问题