2014-05-23 47 views
1

我遇到了我的重写规则问题。它不包括重写路径中的文件夹。例如:Nginx重写为包含文件夹

/randomstring/app.js重写为/var/www/CDN/Dev/App/app.js

/randomstring/dashboard/app.js重写为/var/www/CDN/Dev/App/app.js,但它应该重写/var/www/CDN/Dev/App/dashboard/app.js

我不明白为什么这是行不通的。 (.*)如果我没有弄错,为什么不包含dashboard/部分?

location ~* (css|js)$ { 
    rewrite ^/([^/]*)/(.*).(css|js)$ /$2.$3 ; 
    root /var/www/CDN/Dev/App; 
} 

回答

1

我认为没有理由使用改写这里。别名应该足够了

location ~* /[^/]+(/.+\.(css|js))$ { 
    alias /var/www/CDN/Dev/App/$1; 
} 
+0

谢谢,作品像魅力! –

1
location ~* \.(css|js)$ { 
    rewrite ^/([^/]+)/(.+)\.(css|js)$ /$2.$3 ; 
    root /var/www/CDN/Dev/App; 
} 
+0

完美的工作,谢谢。 –