了解Nginx的重定向说明

今天分享一个nginx的重定向规则,了解一下什么事重定向; 这个也是学习nginx的规则;了解含义、再做实验; 里面涉及到了一些正则或者是符号,这些之前就已经学习过,很容易忘记,回顾总结吧

1、什么是重定向?

重定向:最直观的理解就是:你去访问一个资源,结果直接找不到,网页上面就出现二楼404的报错;这个也是一个重定向的使用;

重定向的rewrite规则:

nginx的rewrite功能需要pcre软件的支持,即要通过perl兼容正则表达式语句进行规则匹配的;

默认参数编译的nginx就会支持rewrite的模块、但是也必须要pcre的支持

rewrite是实现url重写的关键指令,根据regex(正则表达式)部分内容,重定向到replacement,结尾是flag标记;

查看一下nginx

[root@Linux2 nginx-1.27.2]# ./configure --help | grep rewrite
  --without-http_rewrite_module      disable ngx_http_rewrite_module
	#这里说明他默认是不编译的;

2、rewrite的语法

rewrite	+ <regex> 	+	<replacement> +		[flag];
			正则				替代内容 		flag标记

语法的详细讲解:

  • 正则:perl兼容正则表达式语句进行规则匹配
  • 替代内容:将正则匹配的内容替换成replacement
  • flag标记:rewrite支持的flag标记
    • last :本条规则匹配完成终止当前location的规则,继续向下匹配新的location URI规则
    • break :本条规则匹配完成即终止,不再匹配后面的任何规则
    • redirect :返回302临时重定向,浏览器地址会显示跳转后的URL地址,关闭服务,无法重定向。
    • permanent :返回301永久重定向,浏览器地址栏会显示跳转后的URL地址,关闭服务,依然可以重定向,清除缓存失效。

更加直观的距离说明

[root@Linux2 nginx]# vim /data/nginx/conf/vhost/www.liangjiawei.net.conf 
server {
        listen 80;
        server_name www.liangjiawei.net;
        location / {
                root /data/html/www/;
                index index.html index.htm;
                rewrite ^/(.*)$ http://blog.liangjiawei.net/$1 permanent;
                }
}

分享环节:

hi,亲爱的朋友们:

  • 感谢你们耐心完这个笔记,如果笔记中出现的一些软件包、资源找不到的可以直接留言&私聊,我看见了就回复;
  • 资源免费共享;有需要滴滴,(仅仅是我有的)

我的坚持初衷:💕立志要成为一名架构师

  • 不断地去坚持学,其中的各种各样的难度,不言而喻~!
  • 坚持不是一件容易的事情,但它却是成功的关键。做起来吧~!

如果你也想要坚持:那么组团吧,咋们一块互相监督;一天一点分享也是进步;最怕就是孤军奋战!加油吧,追梦人~!