[英]NGINX rewrite switches directories
我有以下重寫規則:
location ^~ /assets {
rewrite_log on;
rewrite ^/assets/(.*)/(.*)$ /websites/$host/themes/$1/assets/$2 break;
}
因此,當我請求http://localhost/assets/theme1/css/style.css
我希望它可以將其重寫為:
/websites/localhost/themes/theme1/assets/css/style.css
相反,它將請求重寫為:
/websites/localhost/themes/theme1/css/assets/style.css
但是,當我將重寫規則更改為:
rewrite ^/assets/(.*)/test/(.*)$ /websites/$host/themes/$1/assets/$2 break;
我要求http://localhost/assets/theme1/test/css/style.css
一切正常。
為什么要使用css
切換assets
?
啊,我想我對正則表達式的工作方式有些困惑。 ;)完美運行:
rewrite ^/assets/([^/]+)/(.*)$ /websites/$host/themes/$1/assets/$2 break;
我匹配了$1
所有內容,這是theme1/css
,但是因為我只想要主題名稱,所以必須排除/
字符。 無論如何,感謝您閱讀本文!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.