基本语法

  1. Syntax: rewrite regex replacement [flag]
  2. Default:
  3. Context: server, location, if

regex: 匹配 URL 的正则表达式
replacement: 目标 URL

flag

参数 描述
last 停止 rewrite 检测
break 停止 rewrite 检测
redirect 返回 302 临时重定向,地址栏会显示跳转后的地址
permanent 返回 301 永久重定向,地址栏会显示跳转后的地址

示例

  1. server {
  2. listen 508;
  3. server_name dengj.ojandapple.site;
  4. #access_log /var/log/nginx/log/host.access.log main;
  5. root /opt/app/code;
  6. location ~ ^/break {
  7. rewrite ^/break /test/ break; # 在root 指定的目录下寻找/test/,没有找到返回404
  8. }
  9. location ~ ^/last {
  10. rewrite ^/last /test/ last; # 重新建立一个/test/ 的连接,以/test/访问服务端
  11. }
  12. location ~ ^/baidu {
  13. rewrite ^/baidu https://www.baidu.com/ permanent; # 永久重定向
  14. #rewrite ^/imooc http://www.baidu.com/ redirect; # 临时重定向
  15. }
  16. location /test/ {
  17. default_type application/json;
  18. return 200 '{"status":"success"}';
  19. }
  20. }