nginx+CI框架 404的问题

在apache下访问index.php/welcome/index能够吧index.php后面的部分作为参数传递给index.php文件,CI框架解析后会去调用Welcome控制器下的index方法。
但是在nginx下会当把index.php作为目录名而不是文件名,所以会报404 Not Found

我的解决方法是通过url重写来实现,重写规则如下:

# 保留index.php入口文件
if (!-e $request_filename) {
    rewrite ^index.php/(.*)$ /index.php?$1 
}

# 隐藏index.php入口文件
if (!-e $request_filename) {
    rewrite ^(.*)$ /index.php?$1 
}

你可能感兴趣的:(nginx+CI框架 404的问题)