- 论坛徽章:
- 0
|
配置了一个nginx的站点,需求是这样的:
1. 访问http://www.abc.com/images/*,对应站点根目录下的/view/images/*。
2. 访问http://www.abc.com/css/*,对应站点根目录下的/view/css/*。
3. 访问其他文件,均从站点根目录下的/control/*获取。
我配置的rewrite规则如下:- server
- {
- listen 80;
- server_name www.abcd.com;
- root /www/abcd;
- index index.html index.php;
-
- rewrite ^/images/(.*)$ /view/images/$1 last;
- rewrite ^/css/(.*)$ /view/css/$1 last;
- rewrite ^/(?!control/)(.*) /control/$1 last;
-
- error_page 404 /control/index.php;
- location ~ .*\.php$ {
- fastcgi_pass 127.0.0.1:9000;
- fastcgi_index index.php;
- fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
- include fastcgi_params;
- }
- }
复制代码 但是配置生效后,访问页面时,发现页面中的images和css,都找不到,从错误日志中发现,都执行了这条rewrite规则: rewrite ^/(?!control/)(.*) /control/$1 last;
上面的两条根本没有发生作用,不知道是怎么回事?
错误日志如下:
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哪里出现了问题?谢谢! |
|