CodeIgniter在nginx下的Rewrite规则

虽然说apache配置简单粗暴,比如CodeIgniter在apache下连配置都不用就可以直接上了,但是小内存的主机下,nginx的轻巧却足以掩盖它难以配置的缺点。如果你正在nginx上使用CodeIgniter,发现除了首页,其他页面全部都404了,那肯定是Rewrite规则错了。网上搜到的很多规则貌似都是不能用的。

这里分享一段CodeIgniter在nginx下的可用Rewrite规则(并没有去掉index.php)。

location / {
if (-f $request_filename/index.html){
                rewrite (.*) $1/index.html break;
        }
if (-f $request_filename/index.php){
                rewrite (.*) $1/index.php;
        }
if (!-f $request_filename){
                rewrite (.*) /index.php;
        }
}


9 thoughts on “CodeIgniter在nginx下的Rewrite规则

  1. 如果你一直用php做开发,你就会发现CI就像个恶梦,web服务器可以做的事情,CI抢过来做了.连一条简单的为静态配置都要遵循CI的语法来做,而不是遵循服务器的方法来做.那么究竟是让配置变得容易了呢还是变得复杂了呢?

发表评论

电子邮件地址不会被公开。 必填项已用*标注