nginx rewrite 实现URL跳转讲解---重定向(nginx重定向)

nginx rewrite 实现URL跳转讲解---重定向(nginx重定向)

了解


^	指定匹配字符串开始
$	指定匹配字符串结束
.	任意非空字符

+	量词,匹配1次或多次

*	匹配0次或多次
  []	匹配括号中的任意一项
  ?	量词,匹配0次或1次
  ()	作为一个整体匹配

实战

需求1 打开网站跳转到百度
server {
        listen       80;
        server_name  www.it.com it.com localhost ;
        access_log  /data/logs/www.log  main;
        rewrite ^/(.*) https://www.baidu.com/$1 permanent;


需求2 打开网站跳转到https协议

http: 80

https:443

具体操作

#步骤

#tips:需了解字符

^	指定匹配字符串开始
$	指定匹配字符串结束
.	任意非空字符

+	量词,匹配1次或多次

*	匹配0次或多次
  []	匹配括号中的任意一项
  ?	量词,匹配0次或1次
  ()	作为一个整体匹配



#需求1 打开网站跳转到百度

1.#配置nginx网站配置目录

cd /usr/local/nginx/conf/vhost

vi www.conf


server {
        listen       80;
        server_name  www.it.com it.com localhost ;
        access_log  /data/logs/www.log  main;
        rewrite ^/(.*) https://www.baidu.com/$1 permanent;   #主要添加的就是这一行


2.#检查-重启

nginx -t
nginx -s reload

nginx -s stop
nginx



tips:打开网站看跳不跳转百度页面

www.it.com



#tips:重定向脚本注解


这段配置指令来自于 Nginx 服务器的重写模块(rewrite module),它的作用是将接收到的请求地址进行重定向。具体来说:

nginx
rewrite ^/(.*) https://www.baidu.com/$1 permanent;


- rewrite:指令关键字,用于在Nginx内部执行URL的重写操作。

- ^/(.*):正则表达式匹配部分,这里的 ^ 表示匹配URL的开始,(.*) 是一个捕获组,它会匹配任何非空字符序列(除了换行符),也就是说,它会匹配从URL开始到结束的所有路径部分。

- https://www.baidu.com/$1:重写的目标地址,其中 $1 是对前面正则表达式中第一个捕获组内容的引用,这意味着原URL中的任何路径都将被复制并粘贴到目标地址的对应位置。

- permanent:重写类型,表示此次重写应以301 Moved Permanently(永久重定向)HTTP状态码的形式告知客户端浏览器,搜索引擎和其他服务这次重定向是永久性的,以便它们可以更新索引和缓存。

因此,这条规则的工作原理是,当Nginx接收到任何以服务器域名开头的请求时,它都会将请求的完整路径(包括查询字符串)重定向到 https://www.baidu.com/ 加上前缀的相同路径。




#需求2 打开网站跳转到https协议
需求解释:就是原先的http80端口不安全,需要把http80端口跳转到安全的https协议443端口,所以


http: 80            

https:443

(需要ssl的证书)


1.#配置nginx网站配置目录

cd /usr/local/nginx/conf/vhost

vi www.conf


server {
        listen       80;
        server_name  www.it.com it.com localhost ;
        access_log  /data/logs/www.log  main;
        rewrite ^/(.*) https://www.baidu.com/$1 permanent;   #主要添加的就是这一行


2.#检查-重启

nginx -t
nginx -s reload

nginx -s stop
nginx



#tips:一般掌握重定向就可以了,https这个都是在生产环境中成型的,不太需要配置,除非新上线的网站,域名需要配置https


#总结:为什么需要重定向?什么场合?

1.网站迁移或改版: 当网站的域名发生变化、或者网站结构调整(例如从HTTP迁移到HTTPS,或者目录结构变动),可以通过重定向将旧网址引导到新网址,保持用户访问的连贯性,同时也利于搜索引擎更新索引,减少因网址变更带来的流量损失。

2.URL规范化: 为了统一网站的访问入口,可以设置重定向规则,例如去除URL末尾的斜杠“/”、转换大小写字母、去掉多余的参数等,以提升SEO效果及用户体验。

3.维护公告或临时关闭: 当网站进行临时维护时,可以将所有访问重定向到一个公告页面,通知用户网站目前不可用,并给出预计恢复时间。

4.移动端适配: 对于响应式设计之外的网站,可以针对不同设备或分辨率进行重定向,例如将手机和平板用户的访问重定向到专门优化过的移动版网站。

5.清除会话或登录状态: 当用户注销账户后,可以通过重定向将其导航到首页或者其他预设页面,确保用户在注销后不会停留在含有敏感信息的页面。

posted @   三思博客  阅读(72)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示