CodeIgniter在nginx下的Rewrite规则

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

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

[no-highlight]
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;
}
}
[/no-highlight]



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

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

Comments are closed.