Nginx server_name命名捕获的一个问题

深梵 发布于 2012/07/19 07:10
阅读 558
收藏 0
访问的是一个静态站点。

原站点配置:
cat 189.xxoo.com.conf
server {
          listen 80;
          server_name 189.xxoo.com;
          root  /home/websites/macrocmsSite/189;
          index index.html index.htm;

          ssi on;
          ssi_types  text/plain;
}

请求正常。

想试下命名捕获的写法,改写如下:
cat 189.xxoo.com.conf
server {
          listen 80;
          server_name  ~^(.+)\.xxoo\.com$;
          root  "/home/websites/macrocmsSite/$1";
          index index.html index.htm;

          ssi on;
          ssi_types  text/plain;
}

此时访问状态码为200,内容显示404

正常情况下nginx日志:
192.168.70.160 189.xxoo.com - [18/Jul/2012:14:44:49 +0800] "GET / HTTP/1.1" 200 35470 "-" "Mozilla/5.0 (Windows NT 6.1; rv:13.0) Gecko/20100101 Firefox/13.0.1" "-" "-" "-" "-" "0.000" "/home/websites/macrocmsSite/189/index.html"

改写后的nginx日志:
192.168.70.160 189.xxoo.com - [18/Jul/2012:14:45:56 +0800] "GET / HTTP/1.1" 200 258 "-" "Mozilla/5.0 (Windows NT 6.1; rv:13.0) Gecko/20100101 Firefox/13.0.1" "-" "-" "-" "-" "0.000" "/home/websites/macrocmsSite/189/index.html"

nginx日志格式:
log_format test  '$remote_addr $host $remote_user [$time_local] "$request" '
                           '$status $body_bytes_sent "$http_referer" '
                           '"$http_user_agent" "$http_x_forwarded_for" "$upstream_response_time" "$upstream_addr" "$upstream_status" "$request_time"'
                           '"$request_filename" "$content_length"';

看下来是$body_bytes_sent这两段配置的返回的大小不一致,而$request_filename均相同。
为什么访问到同样的静态页面,传输的body大小却不同呢?
加载中
返回顶部
顶部