解析如何去掉CodeIgniter URL中的index.php

 我来答
育知同创教育
2016-07-03 · 百度知道合伙人官方认证企业
育知同创教育
1【专注:Python+人工智能|Java大数据|HTML5培训】 2【免费提供名师直播课堂、公开课及视频教程】 3【地址:北京市昌平区三旗百汇物美大卖场2层,微信公众号:yuzhitc】
向TA提问
展开全部
参考下面方法
1. 打开apache的配置文件,conf/httpd.conf :
LoadModule rewrite_module
modules/mod_rewrite.so,把该行前的#去掉。
搜索 AllowOverride
None(配置文件中有多处),看注释信息,将相关.htaccess的该行信息改为AllowOverride All。

2.
在CI的根目录下,即在index.php,system的同级目录下,建立.htaccess,直接建立该文件名的不会成功,可以先建立记事本文件,另存为该名的文件即可。内容如下(CI手册上也有介绍):

复制代码
代码如下:

RewriteEngine on
RewriteCond $1
!^(index\.php|images|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1
[L]

如果文件不是在www的根目录下,第三行需要改写为RewriteRule
^(.*)$ /CodeIgniter/index.php/$1
[L]。
另外,index.php的同级目录下还有js文件夹和css文件夹,这些需要过滤除去,第二行需要改写为:RewriteCond $1
!^(index\.php|images|js|css|robots\.txt)

3.将CI中配置文件(system/application/config/config.php)中$config['index_page']
= "index.php";将$config['index_page'] = ""; 。

复制代码
代码如下:

/*
|--------------------------------------------------------------------------
|
Index
File
|--------------------------------------------------------------------------

|
Typically this will be your index.php file, unless you've renamed it to
|
something else. If you are using mod_rewrite to remove the page set this
|
variable so that it is blank.

*/
$config['index_page'] =
'';
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式