Localtion URL的正則匹配規則
示例
location / { try_files $uri @apache; } #所有的路徑都是/開頭,表示匹配所有 location @apache { internal; proxy_pass http://127.0.0.1:1080; include proxy.conf; } #url重定向至@apache規則 location ~ .*\.(php|php5)?$ { proxy_pass http://127.0.0.1:1080; include proxy.conf; } #匹配所有以.php或者.php5的URL, ~表示區分大小寫 location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ { expires 30d; } #匹配以.gif,.jpg,.jpeg,.png,.bmp,.swf結尾的url location ~ .*\.(js|css)?$ { expires 12h; } #匹配以.js或者.css結尾的url 原文:https://blog.csdn.net/wangchuang227/article/details/80474677?utm_source=copy
匹配的優先級順序
(localtion =) > (localtion完整url) > (localtion ^~) > (localtion ~,~*) > (lcoaltion部分起始路徑) > (/)
- = 表示精確匹配
- ^~ 表示指定的路徑開頭
- ~ 表示區分大小寫的正則匹配
- ~* 表示不區分大小寫的正則匹配
- / 通用匹配,所有的URL都是以此為開頭
使用建議
localtion = / {
proxy_pass http://127.0.0.1:1080/index.php;
}
#匹配根路徑
localtion ~* \.(gif|jpg|jpeg|png|css|js|ico)$ {
root /web/static/;
}
#匹配所有靜態文件
localtion / {
proxy_pass http://127.0.0.1:1080/index.php;
}
#匹配所有的路徑
