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; } #匹配所有的路径