* `last`: 相当于Apache的\[L\]标记,表示完成rewrite * `break`: 停止执行当前虚拟主机的后续rewrite指令集 * `redirect`: 返回302临时重定向,地址栏会显示跳转后的地址 * `permanent`: 返回301永久重定向,地址栏会显示跳转后的地址 因为301和302不能简单的只返回状态码,还必须有重定向的URL,这就是return指令无法返回301,302的原因了。这里 last 和 break 区别有点难以理解: 1. last一般写在server和if中,而break一般使用在location中 2. last不终止*重写后*的url匹配,即新的url会再从server走一遍匹配流程,而break终止重写后的匹配 3. break和last都能组织继续执行后面的rewrite指令