笨,绕过主或默认控制器
我试图找到解决办法,但我觉得我挺在这里做得不对,笨,绕过主或默认控制器
我希望任何一个与笨路由的良好的知识可以帮助我在这方面。
我想那是什么,
我已经默认控制器名为main
$route['default_controller'] = "main";
$route['404_override'] = '';
我的网址都是一样
mydomain.com/main/#home
mydomain.com/main/#search
mydomain.com/main/#login
我想是删除/隐藏main
从中心和链接可以直接工作。 这样
mydomain.com/#home
但是我没有成功有点笨使用的文件。 这就是我做到的。 在路由文件添加此
$route['(:any)'] = "main/$1";
它的工作,但它与其他环节搞砸。
首先现在domain.com/main/#home
停止工作。 秒,现在我不能有其他控制器的名字在这里?
我的意思是,如果我尝试这个domain.com/virtualvault/#search
,它不会工作..
什么,我想有一个, 当我去domain.com/main/#home
它应该去的主页 还当我尝试domain.com/#home
它应该也请到相同的主页 不要忘记我希望其他控制器能够完全工作。 我的意思是,domain.com/othercontrollername/#function
应该工作。
什么,以及如何去实现它,或的.htaccess路线PHP文件..
我甚至试过这种路线如下代码。
$route['#+(:any)'] = "main/#+$1";
但我在这个路由或.htaccess文件中并不好。
任何想法如何实现它?
// The below line is for the old controller to work as before
$route['main/(:any)'] = "main/$1";
//This line is for making other controllers work as before, you have to put them all
$route['virtualvault/(:any)'] = "virtualvault/$1";
//This is the last line; the order is important
$route['(:any)'] = "main/$1";
如果您只需要这三个URL(主页,搜索和登录)在没有控制器名称的情况下工作,只需将其中的三个URL放在routes.php($route['login'] = "main/login";
等)中,并且不使用通配符以防止其他来自重新路由的网址。
于是,所有的人都应该是:
$route['home'] = "main/home";
$route['search'] = "main/search";
$route['login'] = "main/login";
没有,它不只是这三个网址,我只给了例子,这些网址, Isin't还有没有其他更好的办法,像的.htaccess文件或路由器功能的东西? 是的,有一点很常见,那就是我所有的url函数都会有#,就像你在例子中看到的那样。 我正在使用jquery烧烤。 – 2013-04-26 10:08:35
我仍然认为最好的做法是在routes.php或.htaccess中制作这样的白名单......否则,您将无法使这些链接同时工作(使用'main'和without)。 – Shomz 2013-04-26 10:23:12
谢谢,它解决了我的问题.. – 2013-04-26 13:12:29
高兴我可以帮助:) – despina 2013-04-26 13:51:18