我有以下重寫規則:NGINX改寫開關目錄
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
一切工作就好了。
爲什麼它切換assets
與css
?
或者,您可以通過使用'(。*?)'而不是'(。*)'使第一次捕獲更加貪婪。 –
謝謝!我也會嘗試。 :) – SomeCode