2012-09-12 35 views
2

考慮以下配置:Nginx絕對重寫規則的相對URL?

server { 

    listen 80; 
    server_name site.com; 

    location /proxy { 
      proxy_pass http://newsite.com/; 
    } 
} 

託管在site.com該頁面使用相對路徑(/main.css)所有IT靜態文件,所以當我收到代理的網頁,瀏覽器查詢與路徑錯誤靜態文件:

即:http://site.com/main.css

我怎樣去有要求的後續這些靜態文件到原始位置(http://newsite.com/main.css)?

回答

4

你應該能夠在你的server部分使用rewrite rule,類似如下(未經測試):

server_name site.com; 
rewrite ^/([^/]+\.css)$ http://newsite.com/$1; 

這應該重定向在網站的頂級目錄.css文件的所有請求。 com到http://newsite.com/。如果需要包含其他靜態文件(圖像,腳本等),請根據需要調整正則表達式或添加重寫規則。