由于使用的是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中找到
<Directory /> Options FollowSymLinks AllowOverride None Order deny,allow Deny from all </Directory>
可以在[Apache安装目录]/conf/httpd.conf中加入
<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 中进行修改
<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>
4. 剩下是codeigniter的修改,it's very important!!!
将 .htaccess 修改为
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/