当前位置: 首页 > news >正文

大理市住房和城乡建设局网站wordpress怎么降级

大理市住房和城乡建设局网站,wordpress怎么降级,女足世界杯韩国出线,网站制作用什么如果你想拥有你从未拥有过的东西,那么你必须去做你从未做过的事情 我们访问一个网页的时候会遇到一些奇形怪状的url地址,想优化一下,看着顺眼一点,或者打开一个短视频软件想摸鱼刷一会视频,在打开界面的时候无意间按到…

  如果你想拥有你从未拥有过的东西,那么你必须去做你从未做过的事情

        我们访问一个网页的时候会遇到一些奇形怪状的url地址,想优化一下,看着顺眼一点,或者打开一个短视频软件想摸鱼刷一会视频,在打开界面的时候无意间按到了某个位置,欻就跳转到了某东,看着小小说,无意间点到了广告一下就跳过去了,那这个是怎么实现的呢,就用到了今天介绍的——rewrite。

目录

一、rewrite的概念及作用

二、rewrite跳转标记

1、last和break

​编辑

​编辑

2、临时跳转和永久跳转

三、rewrite跳转案例

1、资源跳转

2、后向引用

3、redirect跳转

四、返回错误页面

💬欢迎交流:在学习过程中如果你有任何疑问或想法,欢迎在评论区留言,我们可以共同探讨学习的内容。你的支持是我持续创作的动力!

👍点赞、收藏与推荐:如果你觉得这篇文章对你有所帮助,请不要忘记点赞、收藏,并分享给更多的小伙伴!你们的鼓励是我不断进步的源泉!

🚀推广给更多人:如果你认为这篇文章对你有帮助,欢迎分享给更多对Linux感兴趣的朋友,让我们一起进步,共同提升!

一、rewrite的概念及作用

1. 基本概念rewrite 功能允许根据特定的规则对客户端请求的 URL 进行修改,然后按照新的 URL 来处理请求。这在很多场景下都有重要作用,比如实现 URL 美化、网站页面迁移后进行旧链接重定向、根据不同条件将请求导向不同的后端服务等。2. 配置语法rewrite 指令的基本语法格式如下:rewrite <regex> <replacement> [flag];<regex>(正则表达式):用于匹配客户端请求的 URL。例如,^/oldpage/(.*)$ 可以匹配以 /oldpage/ 开头的 URL,其中 (.*) 用于捕获后续的字符内容,以便后续在替换字符串中使用。<replacement>:是匹配成功后要替换成的新 URL 内容。比如,如果想把匹配到的 /oldpage/ 相关 URL 重定向到新页面 /newpage/,可以写成 /newpage/$1,这里的 $1 就是引用前面正则表达式中捕获到的内容。[flag](标志位):是可选参数,常用的标志位有以下几种:last:停止当前这一轮的 Nginx 配置中的后续指令处理,重新发起一个对新 URL 的请求查找匹配的 location 等配置块进行处理。break:停止当前这一轮的 Nginx 配置中的后续指令处理,直接使用当前的重写后的 URL 进行后续请求处理,不再重新发起查找等操作。redirect:返回一个临时的 302 重定向给客户端,让客户端去请求新的 URL。permanent:返回一个永久的 301 重定向给客户端,告知客户端资源已永久性迁移到新的 URL 地址,搜索引擎等会根据此更新索引。3. 应用场景URL 美化:例如,将原本带有参数的动态 URL(如 example.com/article.php?id=123)重写成更简洁美观的静态形式(如 example.com/articles/123.html),提升用户体验以及利于搜索引擎优化(SEO)。网站迁移重定向:当网站的页面结构发生变化,旧的页面链接需要指向新的对应页面时,通过 rewrite 可以方便地将旧链接重定向到新的正确链接,避免出现 404 页面,保证用户访问的连贯性和搜索引擎排名不受太大影响。比如原网站的产品页面从 /product?id=1 迁移到了 /products/1,就可以用 rewrite 规则进行重定向。后端服务代理区分:根据请求 URL 的不同特征,利用 rewrite 可以将请求转发到不同的后端服务器群组或者应用服务上。比如,将以 /api/v1 开头的请求转发到一个版本的 API 服务器,而 /api/v2 开头的请求转发到另一个版本的 API 服务器,通过 rewrite 匹配 URL 后修改转发的目标地址来实现。4. 注意事项正则表达式编写要准确,否则可能导致匹配不准确,无法正确重写 URL 或者出现意外的重写情况。合理选择标志位,不同的标志位决定了后续 Nginx 处理请求的流程以及客户端收到的响应形式,使用不当可能会造成循环重定向等问题。测试 rewrite 规则时,要全面检查各种可能的请求情况,确保重写后的 URL 能够被正确处理,不会影响网站的正常运行和用户访问体验。
​Nginx 的 rewrite 功能为网站的 URL 管理、请求转发等方面提供了灵活且高效的解决方案,合理运用它能提升网站的性能、用户体验以及维护的便利性。

二、rewrite跳转标记

1、last和break

[root@web01 conf.d]#cat rewrite.conf 
server {listen 80;server_name test.yunzhongzi.com;root /code/test/;location / {rewrite /1.html /2.html break;    #break 或者lastrewrite /2.html /3.html; }location /2.html {rewrite /2.html /a.html;}location /3.html {rewrite /3.html /b.html;}}
#文件内容:1.html:空2.html:2.html……3.html:3.html……a.html:aaaaaaa……b.html:bbbbbbb……
#文件寻找顺序:访问test.yunzhongzi.com/1.html 跳转到2.html,2跳转3.html,3.html跳转b.html
last 含义:  停止向后匹配,重新对2.html发起请求#三个locartion之间互不影响,在第一个location上写last就是1.html指向2.html指向a.html
break含义:  停止向后匹配,获取2.html中的内容返回给用户,不会重新发起请求。#写入break,1.html跳转2.html,不在向下跳转2.html的内容
​

2、临时跳转和永久跳转

 302 临时跳转: 每次都要请求源站,然后源站返回新的站点给用户,如果源站挂了,无法访问!
使用return 302 http://www.baidu.com 和 rewrite最后的标记 redirect 是一样的功能,都是临时跳转。
[root@web01 conf.d]#cat rewrite.conf 
server {listen 80;server_name test.yunzhongzi.com;root /code;location /test {rewrite ^(.*)$  http://www.baidu.com redirect;#rewrite ^(.*)$  http://www.yunzhongzi.com permanent;#return 301 http://www.yunzhongzi.com;#return 302 http://www.baidu.com;}
}
301永久跳转: 只第一次访问源站,第一次往后,直接访问新的站点。
使用return 301 http://www.baidu.com; 和在rewirte后面写premanent相同的含义。
[root@web01 conf.d]#cat rewrite.conf 
server {listen 80;server_name test.yunzhongzi.com;root /code;location /test {#rewrite ^(.*)$  http://www.baidu.com redirect;rewrite ^(.*)$  http://www.baidu.com permanent;#return 301 http://www.yunzhongzi.com;#return 302 http://www.baidu.com;}
}

三、rewrite跳转案例

1、资源跳转

用户访问test.yunzhongzi.com/abc ----->/code/ccc/bbb/2.html
[root@web01 conf.d]#vim rewrite.conf 
server {listen 80;server_name test.yunzhongzi.com;location / {root /code;index index.html;}location /abc {rewrite ^(.*)$ /ccc/bbb/2.html redirect;#return 302 /ccc/bbb/2.html;}}
[root@web01 conf.d]#mkdir /code/ccc/bbb/ -p
[root@web01 conf.d]#echo /code/ccc/bbb/2.html.... > /code/ccc/bbb/2.html
​

2、后向引用

通过后项引用,调用用户输入的路径
用户访问的test.yunzhongzi.com/2018/aaa/index.html ----->/code/2014/aaa/index.html[root@web01 conf.d]#cat rewrite.conf 
server {listen 80;server_name test.yunzhongzi.com;location / {root /code;index index.html;}location /2018 {rewrite ^/2018/(.*)$ /2014/$1 redirect;}}[root@web01 conf.d]#mkdir /code/2014[root@web01 conf.d]#mkdir /code/2014/aaa[root@web01 conf.d]#echo aaaaaaaaa > /code/2014/aaa/index.html[root@web01 conf.d]#systemctl restart nginx

3、redirect跳转

案例3. 用户访问test.yunzhongzi.com/course-11-22-33.html ------>/code/course/11/22/33/course_33.html[root@web01 conf.d]#cat rewrite.conf 
server {listen 80;server_name test.yunzhongzi.com;root /code;index index.html;location / {#灵活配法rewrite ^/course-(.*)-(.*)-(.*).html$ /course/$1/$2/$3/course_$3.html redirect;#固定配法#rewrite ^/course-(.*) /course/11/22/33/course_33.html redirect;}}
[root@web01 conf.d]#systemctl restart nginx
[root@web01 test]#mkdir -p /code/course/11/22/33/
[root@web01 test]#echo "<h1>/code/course/11/22/33/course_33.html</h1>" > /code/course/11/22/33/course_33.html 

四、返回错误页面

[root@web01 conf.d]#cat rewrite.conf 
server {listen 80;server_name test.yunzhongzi.com;root /code;index index.html;location / {#灵活配法#rewrite ^/course-(.*)-(.*)-(.*).html$ /course/$1/$2/$3/course_$3.html redirect;#固定配法rewrite ^/course-(.*) /course/11/22/33/course_33.html redirect;}error_page 403 404 500 501 502 @error_test;location @error_test {rewrite ^(.*)$ /404.html break;}
}
#案例2.客户端IP地址为10.0.0.1访问test.yunzhongzi.com时,自动在请求行后面加上参数&showoffline=1
[root@web01 conf.d]#cat rewrite.conf 
server {listen 80;server_name test.yunzhongzi.com;# $args为Nginx内置变量请求行的参数set $args "&showoffline=1";location / {root /code;index index.html;}if ($remote_addr = 10.0.0.1 ){rewrite (.*) http://test.yunzhongzi.com$1;}
}
案例3.通过变量指定返回给用户的页面
[root@web01 conf.d]#cat rewrite.conf 
server {listen 80;server_name test.yunzhongzi.com;root /code/test;charset utf-8,gbk;location / {index index.html;set $ip 0;       #设置变量为0if ($remote_addr = "10.0.0.2"){set $ip 1;   #如果来源IP为0.1则设置为1}if ($ip = 0){    
# 判断如果变量为0 则跳转维护页面
rewrite ^(.*)$ /wh.html break;}}}[root@web01 conf.d]# nginx -t[root@web01 conf.d]# systemctl restart nginx[root@web01 conf.d]#echo 游戏页面维护中... > /code/test/wh.html

今天的rewrite就介绍到这里,明天介绍https加密访问~~~


想成为大佬,就要从小白开始,从0开始,一点一点的积累,慢慢成长,明天你就是大佬!!想学习更多麒麟操作系统的知识,关注小屁,让你成为运维老鸟~~~~~ 

http://www.yayakq.cn/news/173849/

相关文章:

  • 个人虚拟机做网站网站设计的介绍模板
  • 深圳中英文网站建设当当网的网站怎么做的
  • 网站建设找睿智骄阳天河区门户信息网
  • 如何增加网站权重做seo网站公司
  • 如何设计一个企业徐州做网站优化
  • 容桂做外贸网站开贴纸网站要怎么做的
  • 网站全站建设开题报告范文前端网站开发流程图
  • 哪个网站开发是按月付费的wordpress会员注册模板
  • 一个交易网站开发的成本是多少空间网站购买
  • 北京建设注册中心网站搜索引擎优化员简历
  • 湛江网站制作方案中小企业网站建设流程
  • 网站功能建设特点wordpress小小工具
  • 怎么做网站的分类目录高质量的高密网站建设
  • 手机响应式网站网站建设前期如何规划
  • 沈阳营销网站制作企业网站 禁止查看源码
  • 广东建的电商网站叫啥应用商店网站源码
  • 网站的seo优化怎么做做外链选择那些网站
  • 北京中御建设公司网站视频制作公司需要什么资质
  • 分享一个网站能用的网站置顶代码
  • 国外专门做杂志的共享网站wordpress二手车模板
  • 做网站违法吗网站建设和管理
  • 网站建设内容清单怎么做那些盗号网站
  • 如何做网站超链接即时设计网页版
  • 有没有介绍做私家导游的网站网络营销服务有哪些
  • 网站特效怎么做重庆建设官网
  • 昌吉州住房和城乡建设局网站网易游戏推广代理加盟
  • 天心区网站建设公司河南商城网站建设
  • 能被百度收录的建站网站wordpress怎么填写
  • 网上购物网站的设计与实现网站 主机
  • 深圳营销建网站公司怎么制作网站教程视频