+ -
当前位置:首页 → 问答吧 → 请教配置的nginx的部分rewrite的规则为什么没有生效?

请教配置的nginx的部分rewrite的规则为什么没有生效?

时间:2010-04-07

来源:互联网

配置了一个nginx的站点,需求是这样的:
1.  访问http://www.abc.com/images/*,对应站点根目录下的/view/images/*。
2.  访问http://www.abc.com/css/*,对应站点根目录下的/view/css/*。
3.  访问其他文件,均从站点根目录下的/control/*获取。

我配置的rewrite规则如下:
  1. server
  2. {
  3.         listen       80;
  4.         server_name www.abcd.com;
  5.         root /www/abcd;
  6.         index index.html index.php;
  7.       
  8.         rewrite ^/images/(.*)$ /view/images/$1 last;
  9.         rewrite ^/css/(.*)$ /view/css/$1 last;
  10.         rewrite ^/(?!control/)(.*) /control/$1 last;


  11.         error_page 404   /control/index.php;
  12.         location ~ .*\.php$ {
  13.         fastcgi_pass   127.0.0.1:9000;
  14.         fastcgi_index  index.php;
  15.         fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
  16.         include  fastcgi_params;
  17.         }
  18. }
复制代码
但是配置生效后,访问页面时,发现页面中的images和css,都找不到,从错误日志中发现,都执行了这条rewrite规则: rewrite ^/(?!control/)(.*) /control/$1 last;
上面的两条根本没有发生作用,不知道是怎么回事?

错误日志如下:



QUOTE:
2010/04/07 06:05:39 [error] 12949#0: *11526 open() "/www/abcd/control/view/css/style.css" failed (2: No such file or directory), client: 111.12.153.106, server: abcd.com, request: "GET /css/style.css HTTP/1.1", host: "abcd.com", referrer: "http://abcd.com/login.php"
2010/04/07 06:05:39 [error] 12949#0: *11522 open() "/www/abcd/control/view/images/logo.gif" failed (2: No such file or directory), client: 111.12.153.106, server: abcd.com, request: "GET /images/logo.gif HTTP/1.1", host: "abcd.com", referrer: "http://abcd.com/login.php"



请教大家,看看我配置的rewrite哪里出现了问题?谢谢!

作者: mouzhi   发布时间: 2010-04-07

Nginx Rewrite 规则:
if ($host ~* ^(.*?)\.domain\.com$)
{
set $var_wupin_city $1;
set $var_wupin ‘1′;
}
if ($host ~* ^qita\.domain\.com$)
{
set $var_wupin ‘0′;
}
if (!-f $document_root/market/$var_wupin_city/index.htm)
{
set $var_wupin ‘0′;
}
if ($var_wupin ~ ‘1′)
{
rewrite ^/wu/$ /market/$var_wupin_city/index.htm last;
}

作者: notion001   发布时间: 2010-04-08