您的位置:首页 > 编程语言 > PHP开发

【转】CI去掉index.php

2015-11-10 00:10 597 查看
感谢原作者:http://blog.csdn.net/spring21st/article/details/8334299

原文链接在:http://blog.csdn.net/spring21st/article/details/8334299

本人在apache2.4.9下亲测可用,感谢感谢。

--------------------------

由于使用的是windows开发环境,服务器用的是xampp,今天在做codeigniter 去掉index.php 的时候,需要用到apache的mod_rewrite.

首先需要配置下 Apache的mod_rewrite:

1. 在[Apache安装目录]/conf/httpd.conf中:

找到#LoadModule rewrite_module modules/mod_rewrite.so,去掉前面的注释符号#。

如果没有这行,请添加。并确认apache安装目录下的modules文件夹中是否有mod_rewrite.so这个文件。

这样就启用了Mod Rewrite功能。

2. 在[Apache安装目录]/conf/httpd.conf中找到

[python] view plaincopy

<Directory />

Options FollowSymLinks

AllowOverride None

Order deny,allow

Deny from all

</Directory>

把“AllowOverride None”改成“AllowOverride All”,这样所有的文件夹都支持.htaccess了,或者针对指定的文件夹启用.htaccess,

可以在[Apache安装目录]/conf/httpd.conf中加入

[ruby] view plaincopy

<Directory "D:/Program Files/xampp/htdocs/mss">

Options Indexes FollowSymLinks

AllowOverride All

Order allow,deny

Allow from all

</Directory>

这种做法一般是和虚拟主机配置在一起的.

3. 我使用的是虚拟主机,所以第二步中的配置,我是在[Apache安装目录]/conf/extra/httpd-vhost.conf 中进行修改

[ruby] view plaincopy

<VirtualHost *:80>

ProxyPreserveHost On

DocumentRoot "D:/Program Files/xampp/htdocs/mss"

ServerName xxx.music.baidu.com

DirectoryIndex index.php

<Directory "D:/Program Files/xampp/htdocs/mss">

Options Indexes FollowSymLinks

AllowOverride All

Order allow,deny

Allow from all

</Directory>

</VirtualHost>

重启Apache,mod_rewrite 生效!

4. 剩下是codeigniter的修改,it's very important!!!

将 .htaccess 修改为

[php] view plaincopy

RewriteEngine on

RewriteCond $1 !^(index\.php|images|robots\.txt)

RewriteRule ^(.*)$ /index.php/$1 [L]

然后移至网站根目录!(切记,否则还是访问还是无效的。)

其它操作系统下Apache rewrite配置可以参见: http://dancewithnet.com/2010/05/29/making-mod-rewrite-and-htaccess-work-on-mac-os-x/
版权声明:本文为博主原创文章,未经博主允许不得转载。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: