首页 文章详情

Rewrite总结

约 1 分钟阅读

一、Rewrite

​ 实现url重写以及重定向

二、场景

​ url访问跳转,支持开发设计(页面跳转,兼容性支持,展示效果等)

​ SEO优化

​ 运维人员维护

​ 后台维护、流量转发

​ 安全->伪静态

三、配置语法

Systanx: rewrite regx replacement[flag]
	Default: --
	Context:server,location,if

四、正则

​ pcre 正则测试

五、Flag

​ last : 停止rewrite 检测

​ Break: 停止rewrite 检测

​ redirect : 返回302临时重定向,地址栏会显示跳转后的地址

​ permanent : 返回301永久重定向,地址栏会显示跳转后的地址 (nginx 停掉也会重定向)

六、Rewrite 规则优先级

​ 执行server块的rewrite指令

​ 执行location匹配

​ 执行选定的location中的rewrite

七、示例

server{
    listen  6060;
    server_name  localhost;
    access_log  /var/log/nginx/host.access.log  main;
    root /opt/app/code;

    location / {
        rewrite ^/course-(\d+)-(\d+)-(\d+)\.html$ /course/$1/$2/course_$3.html break;

        if ($http_user_agent ~* Chrome) {
            rewrite ^/nginx http://www.baidu.com redirect;
        }
        if (!-f $request_filename) {
            rewrite ^/(.*)$ http://www.baidu.com redirect;
        }
        index  index.html  index.htm;
    }

    location ~ ^/break {
        rewrite ^/break /test/ break;
    }

    location ~ ^/last {
        #rewrite ^/last /test/ last;
        rewrite ^/last /test/ redirect;
    }

    location ~ ^/protagonist {
    	#rewrite ^/protagonist  http://39.97.187.133:80 permanent;
			rewrite ^/protagonist  http://39.97.187.133:80 redirect;
    }

    location /test/ {
			default_type  application/json;
			return 200 '{"status":"success"}';
    }
}

评论

正在加载评论...

相关文章