问题描述
现在很多RESTful框架,或者支持pathinfo路由模式的框架,会把url里面的入口文件index.* 隐藏掉。那么,在这种情况下,怎么配置nginx,让他可以判断这个请求是动态的请求,需要程序处理,还是是静态文件的请求?
问题解答
回答1:location / { index index.php; # 重写到index if ($request_filename !~ (js|css|images|robots/.txt|index/.php.*) ) { rewrite ^/(.*)$ /index.php/$1 last; break; } } 回答2:
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; }}