我有一个代码点火器项目,我使用Mod_rewrite使用this方法从url中删除“index.php”。这很好用。
但是现在,我想在config / routes.php中删除名为“Home”的主控制器(即default_controller)。
所以基本上,我目前的网址是:
http://localhost:85/project/Home/portfolio
http://localhost:85/project/Home/about_me
我希望它是:
http://localhost:85/project/portfolio // Get rid of the "Home"
http://localhost:85/project/about_me // Get rid of the "Home"
如果我使用除“Home”(我的主控制器)之外的另一个控制器,我希望它正常显示在URL中。
因此,如果我创建一个名为“Blog”的控制器,我希望能够在URL中使用“Blog”,所以我不想摆脱这个,因为它不是default_controller。
所以我应该像往常一样访问Blog方法:
// Here I want to see the Blog Controller -> Then -> Method Name as usual.
http://localhost:85/project/Blog/entry/1
http://localhost:85/project/Blog/create
http://localhost:85/project/Blog/delete
我对mod_rewrite并不擅长,所以任何简单的解释就足够了。
<小时/> [编辑]
答案 0 :(得分:3)
当然,仅仅因为你已经命名控制器“Home”并没有使它与另一个控制器有任何不同。没有那么多默认控制器,因为有一个默认页面(如果没有URL段),这是在routes.php
中定义的。您还可以使用路线来映射CI中的请求而不是.htaccess
(正是它们的用途):
$route['portfolio'] = 'home/portfolio';
$route['about_me'] = 'home/about_me';
// Alternative
$route['(portfolio|about_me)'] = 'home/$1';
这基本上说:“如果用户请求$ key,给他们$ value”。路线很棒,绝对值得学习如何利用你的优势。