一、什么是rewrite
rewrite主要实现url地址重写,以及重定 向,就是 把传入web的请 求重 定向到其他URL的过程。
使用场景:
2.协议跳转,用户通过http协议请求网站时,将其重新跳转至https协议方 式
2.伪静态,将动态页面显示为静态页面方式的一种技术, 便于搜索引擎的录入, 同时减少动态URL地址对外暴露过多的参数, 提升更高的安全性。
3.搜索引擎,SEO优化依赖于url路径, 好记的url便于支持搜索引擎录入
二、rewrite标记Flag
三、rewrite使用实例
location /abc {rewrite (.*) /ccc/bbb/2.html redirect;#return 302 /ccc/bbb/2.html;}
location ~ ^/bgx {rewrite ^(.*)$ https://www.liangzeyu redirect;rewrite ^(.*)$ https://www.liangzeyu.com permanent;#return 301 http://liangzeyu.com;#return 302 http://liangzeyu.com;}
location /2018 {rewrite ^/2018/(.*)$ /2014/$1 redirect;}
location /test {rewrite (.*) http://www.liangzeyu.com redirect;}
location / {#灵活rewrite ^/course-(.*)-(.*)-(.*).html$ /course/$1/$2/$3/course_$3.htmlredirect;#固定#rewrite ^/course-(.*) /course/11/22/33/course_33.html redirect;}
rewrite ^(.*) https://$server_name$1 redirect;#return 302 https://$server_name$request_uri;
补充
server {listen 80;server_name www.liangzeyu.com liangzeyu.com;if ($http_host = nginx.org){rewrite (.*) http://www.nginx.org$1;}}
server {listen 80;server_name oldboy.com;rewrite ^ http://www.oldboy.com$request_uri;}
ip封
server {listen 80;server_name bgx.com;location / {set $allow true;if ($http_x_forwarded_for ~ "106.121.*.*|106.121.71.120|106.121.74.130"){set $allow false;}if ($allow = false){ return 403;}}}
限制访问后台
listen 80;server_name bgx.com;location ~ ^/admin {set $allow false;if ($http_x_forwarded_for ~ "36.11.10.254|36.11.10.*"){set $allow true;}if ($allow = false){return 403;}}}
有问题请加博主微信进行沟通!
全部评论