首页 > 服务器 > nginx支持CI重写

nginx支持CI重写

本人采用NPMserv 0.3.2来运行CI框架,在NPMserv设置里不能给rewrite加条件,所以只能手动改配置文件vhost.conf;

下面是一个功能的例子:
server { #创建一个服务
listen       80; #监听80端口
server_name  www.test.com; #绑定域名
location / { #设置根目录
root   D:/wwwroot/mgdd; #根目录位置
index  index.html index.htm index.php; #文件查找顺序

# 如果文件、目录不存在则执行重写

if (!-e $request_filename) {
rewrite ^/(.*)$ /index.php/$1 last;
}
}
# 设置错误页面
error_page   500 502 503 504  /50x.html;
location = /50x.html {
root   html;
}
# 处理PHP程序
location ~ .*\.php {
root           D:/wwwroot/mgdd;
fastcgi_pass   127.0.0.1:9000; # FastCGI 服务信息
fastcgi_index  index.php;
# 为PHP程序提供一些常用的服务器变量
fastcgi_param  SCRIPT_FILENAME  D:/wwwroot/mgdd$fastcgi_script_name; # 执行的脚本名称
fastcgi_param  PATH_INFO          $request_uri; # 此参数非常重要,无此参数可能导致CI无法静态化
fastcgi_param  QUERY_STRING       $query_string;
fastcgi_param  REQUEST_METHOD     $request_method;
fastcgi_param  CONTENT_TYPE       $content_type;
fastcgi_param  CONTENT_LENGTH     $content_length;

fastcgi_param  SCRIPT_NAME        $fastcgi_script_name;
fastcgi_param  REQUEST_URI        $request_uri;
fastcgi_param  DOCUMENT_URI       $document_uri;
fastcgi_param  DOCUMENT_ROOT      $document_root;
fastcgi_param  SERVER_PROTOCOL    $server_protocol;

fastcgi_param  GATEWAY_INTERFACE  CGI/1.1;
fastcgi_param  SERVER_SOFTWARE    nginx/$nginx_version;

fastcgi_param  REMOTE_ADDR        $remote_addr;
fastcgi_param  REMOTE_PORT        $remote_port;
fastcgi_param  SERVER_ADDR        $server_addr;
fastcgi_param  SERVER_PORT        $server_port;
fastcgi_param  SERVER_NAME        $server_name;

# PHP only, required if PHP was built with –enable-force-cgi-redirect
fastcgi_param  REDIRECT_STATUS    200;
}
}

分类: 服务器 标签:
  1. 本文目前尚无任何评论.
  1. 本文目前尚无任何 trackbacks 和 pingbacks.
您必须在 登录 后才能发布评论.