<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<head><meta forua="true" http-equiv="Cache-Control" content="max-age=0" /></head>
<card title="CodeIgniter(CI)中使用.htaccess隐藏url中index.php的详解及代码" id="card1">
<p> 游客</p><p>
标题:CodeIgniter(CI)中使用.htaccess隐藏url中index.php的详解及代码<br/>
正文:<br/>
秉承MVC架构的思想，CI中的所有控制器都需要经过单点入口文件index.php（默认）来加载调用。也就是说，在默认情况下，所有CI开发项目的URL都形如以下这种形式：http://localhost/index.php/blog/logs/this_is_a_test_entry很显然，默认情况下，index.php在URL地址段中的存在一定程度上影响了URL的简洁和SEO的进行。我们可以通过下面本文介绍的方法来去掉这个讨厌的Index.php。你或许已经注意到在CodeIgniter用户手册中，已经存在关于此问题的解决方法。但官方提供的这个.htaccess配置，并不是所有时候都能解决问题。本文现在给出一个更完善的解决方案。注意：在继续之前，请确认你的主机支持.htaccess配置。其中，如果Apache作为Web服务器，需要开启mod_rewrite模块的支持；如果将IIS作为Web服务器，则需要额外安装ISAPI_Rewrite拓展。具体方法如下：1. 将以下配置信息复制并保存为.htaccess文件。<br/>以下为.htaccess文件信息<br/><br/>代码如下:RewriteEngineOn<br/>RewriteBase / <br/>RewriteCond %{REQUEST_FILENAME} !-f<br/>RewriteCond %{REQUEST_FILENAME} !-d <br/>RewriteRule^(.*)$ /index.php?/$1 [L]     #如果没有安装mod_rewrite模块，所有的404页面都将被 #发送到index.php，此时，程序会像没有设置隐藏时一样运行   <br/>ErrorDocument404 /index.php2. 将以上.htaccess文件上传到CI所在项目的根目录（即与index.php同级目录下）3. 修改application/config.php中的如下参数：代码如下:$config['index_page'] = &quot;index.php&quot;;至代码如下:$config['index_page'] = &quot;&quot;; //设置为空以上三步，缺一不可。如果一切配置正常，你会发现，再次运行程序的时候<br/><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=1660&amp;Page=1">[&lt;&lt;]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=1660&amp;Page=1">[[1]]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=1660&amp;Page=2">[2]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=1660&amp;Page=3">[3]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=1660&amp;Page=4">[&gt;&gt;]</a><br/>
<br/>
<a href="wap.asp?act=Com&amp;id=1660">查看评论(0)</a><br/>
<a href="wap.asp?act=AddCom&amp;inpId=1660">发表评论</a><br/><br/>

<br/>

<br/>
<a href="http://camnpr.com/wap.asp">首页</a>
</p>
</card>
</wml>