codeigniter去掉index.php后缀的实现方法

在服务器迁移的过程中遇到一个问题,因为服务器端用的是codeigniter的框架,在迁移后由于index.php的原因无法访问了。网上有横多的解决方法,但是针对我的这个环境的并不多。针对这个问题,只要处理好两点就好了。

开启apache2 的rewrite模块

a2enmod rewrite

这里是启动rewrite_mod

如果是手动开启的话,就是建立一个软连接

ln -s /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enabled/rewrite.load

然后是修改

 vim /etc/apache2/sites-enabled/000-default.conf

 <Directory "/var/www/html">
    AllowOverride All
</Directory>

注意上面的文件目录要改成自己的站点的目录,接下来就是重启apache服务器

service apache2 restart

修改.htaccess文件

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .

上面的代码简单的说,就是开启重写,如果请求的链接地址,没有目录,也没有文件,就执行重写规则。


以上方法只针对ubuntu 14.04,apache2 的环境,其他的环境下可能不同,请注意甄别。

发表新评论