1 | location [=|~|~*|^~|@] /uri/ { |
= : 表示精确匹配后面的 url
~ : 表示正则匹配,但是区分大小写
~* : 正则匹配,不区分大小写
^~ : 表示普通字符匹配,如果该选项匹配,只匹配该选项,不匹配别的选项,一般用来匹配目录
@ : @ 定义一个命名的 location,使用在内部定向时,例如 error_page
示例
1 | upstream api_server { |
默认访问 / 会重定向到 /my-module , 然后直接返回 /data/my-module/dist 下的 html 等静态文件
补 rewrite
last : 表示 rewrite, 浏览器地址栏不变
break : 本条规则匹配完成后,终止匹配,不再匹配后面的规则,浏览器地址栏不变
redirect : 返回 302 临时重定向,浏览器地址会显示跳转后的 URL 地址
permanent : 返回 301 永久重定向,浏览器地址会显示跳转后的 URL 地址
使用 alias 指令必须用 last 标记;使用proxy_pass指令时,需要使用break标记。last标记在本条rewrite规则执行完毕后,会对其所在server{……}标签重新发起请求,而break` 标记则在本条规则匹配完成后,终止匹配。
1 | if( !-e $request_filename ) |