在没有.php匹配的情况下,nginx如何判断该请求是动态请求?

现在很多RESTful框架,或者支持pathinfo路由模式的框架,会把url里面的入口文件index.* 隐藏掉。那么,在这种情况下,怎么配置nginx,让他可以判断这个请求是动态的请求,需要程序处理,还是是静态文件的请求?

阅读 5.4k
2 个回答
location /  
{  
    index index.php;  
    # 重写到index  
    if ($request_filename !~ (js|css|images|robots/.txt|index/.php.*) ) {  
        rewrite ^/(.*)$ /index.php/$1 last;  
        break;  
    }  
} 
server {
    root            /site/root;

    location @cgi {
        include         fastcgi_params;
        fastcgi_pass    127.0.0.1:9000;
        fastcgi_param   SCRIPT_FILENAME /site/root/index.php;
    }

    location / {
        try_files $uri @cgi;
    }
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题