- 論壇徽章:
- 0
|
配置了一個(gè)nginx的站點(diǎn),需求是這樣的:
1. 訪問(wèn)http://www.abc.com/images/*,對(duì)應(yīng)站點(diǎn)根目錄下的/view/images/*。
2. 訪問(wèn)http://www.abc.com/css/*,對(duì)應(yīng)站點(diǎn)根目錄下的/view/css/*。
3. 訪問(wèn)其他文件,均從站點(diǎn)根目錄下的/control/*獲取。
我配置的rewrite規(guī)則如下:- 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;
- }
- }
復(fù)制代碼 但是配置生效后,訪問(wèn)頁(yè)面時(shí),發(fā)現(xiàn)頁(yè)面中的images和css,都找不到,從錯(cuò)誤日志中發(fā)現(xiàn),都執(zhí)行了這條rewrite規(guī)則: rewrite ^/(?!control/)(.*) /control/$1 last;
上面的兩條根本沒(méi)有發(fā)生作用,不知道是怎么回事?
錯(cuò)誤日志如下:
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"
請(qǐng)教大家,看看我配置的rewrite哪里出現(xiàn)了問(wèn)題?謝謝! |
|