繁体   English   中英

使用.htaccess文件删除URL的特定段

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM