[英]Using .htaccess file to remove a particular segment of the URL
我的网址链接看起来像:
http://localhost/CodeIgniter_2.1.2/index.php/pages/home
然后,我使用Google编写了.htaccess文件,如下所示:
RewriteEngine on
RewriteCond $1 !^(index\.php|themes|images|robots\.txt)
RewriteRule ^(.*)$ index.php/$1 [L]
现在我的链接看起来像:
http://localhost/CodeIgniter_2.1.2/pages/home
现在,我想从此链接中删除pages
。 谁能帮我解决这个问题?
因此,我的网址可能类似于:
http://localhost/CodeIgniter_2.1.2/home
一种实现方法是在application / config / routes.php文件中创建一个自定义路由,该路由会将url'http://localhost/CodeIgniter_2.1.2/home'路由到'http://localhost/CodeIgniter_2.1.2 / pages / home'
自定义路由在此处介绍
该代码将类似于:
$route['home'] = "pages/home";
编辑
您的控制器,方法和变量分别命名为“页面”,“视图”和“主页”。 因此,您应该尝试以下路线:
$route['home'] = "pages/view/home";
也:
**保留的路线**从codeigniter文档中:
有两条保留的路线:
$route['default_controller'] = 'welcome';
此路由指示如果URI不包含任何数据,则应该加载哪个控制器类,当人们加载您的根URL时就是这种情况。 在上面的示例中,将加载“ welcome”类。 建议您始终使用默认路由,否则默认情况下会显示404页面。
因此,您不应将默认控制器设置为“ pages / view / home”。 相反,您应该在控制器中创建一个默认为“主”视图的“索引”方法。
同样不要忘记将位于application / config / config.php中的config.php文件中的$ config ['index_page']从'index.php'更改为''。
尝试更改您的规则,以便目标是:
RewriteRule ^(.*)$ index.php/pages/$1 [L]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.