要实现 https://xxx.com/ 自动跳转至 https://xxx.com/new,可以在Nginx 的配置文件中添加以下重定向规则:

server {
listen 80;
listen [::]:80;
server_name xxx.com;
return 301 https://$server_name$request_uri;
} server {
listen 443 ssl;
listen [::]:443 ssl;
server_name xxx.com; ssl_certificate /path/to/ssl/cert.pem;
ssl_certificate_key /path/to/ssl/key.pem; # 添加以下重定向规则
if ($request_uri = '/') {
return 301 https://$server_name/new;
} # 其他配置项
# ...
}
# 这个配置文件包含两个 server 块,一个用于 HTTP 请求的监听,另一个用于 HTTPS 请求的监听。在第一个 server 块中,使用 return 301 指令将所有 HTTP 请求重定向至 HTTPS 协议,并保留原始请求 URI。 # 在第二个 server 块中,添加了一个 if 块,用于判断请求 URI 是否为 /。如果是,则使用 return 301 指令将请求重定向至 https://xxx.com/new,并丢弃原始请求 URI。 # 需要注意的是,if 块可能会影响 Nginx 的性能,因此应该尽量避免在生产环境中使用。如果有必要,也可以使用 map 块或 rewrite 指令来实现重定向。
# 保存修改后,重新加载 Nginx 配置文件,即可生效。

除了使用 if 块外,还可以 使用 map 块或rewrite 指令 来实现重定向。以下是两个示例:

# 1.使用 map 块
server {
listen 80;
listen [::]:80;
server_name xxx.com;
return 301 https://$server_name$request_uri;
} server {
listen 443 ssl;
listen [::]:443 ssl;
server_name xxx.com; ssl_certificate /path/to/ssl/cert.pem;
ssl_certificate_key /path/to/ssl/key.pem; # 使用 map 块实现重定向
map $request_uri $new_uri {
default $request_uri;
/ $scheme://$server_name/new;
} return 301 $new_uri; # 其他配置项
# ...
}
# 在这个示例中,使用 map 块将请求 URI 为 / 的请求重定向至 https://xxx.com/new。map 块定义了一个变量 $new_uri,它根据请求 URI 的不同取不同的值。在 return 301 指令中,将重定向目标设置为 $new_uri 变量即可。
# ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- # 2.使用 rewrite 指令
server {
listen 80;
listen [::]:80;
server_name xxx.com;
return 301 https://$server_name$request_uri;
} server {
listen 443 ssl;
listen [::]:443 ssl;
server_name xxx.com; ssl_certificate /path/to/ssl/cert.pem;
ssl_certificate_key /path/to/ssl/key.pem; # 使用 rewrite 指令实现重定向
if ($request_uri = '/') {
rewrite ^ https://$server_name/new permanent;
} # 其他配置项
# ...
}
# 在这个示例中,使用 rewrite 指令将请求 URI 为 / 的请求重定向至 https://xxx.com/new。rewrite 指令将重定向规则设置为 ^,表示匹配 URI 起始位置。permanent 参数表示使用 301 永久重定向。 # 需要注意的是,使用 map 块或 rewrite 指令实现重定向可能比 if 块更高效,因为它们可以在 Nginx 的内部处理阶段完成。但是,它们可能比 if 块更难理解和维护,因此应该根据实际情况选择最适合的方法。
# 保存修改后,重新加载 Nginx 配置文件,即可生效。

nginx 访问域名跳转至域名后接目录的更多相关文章

  1. apache服务器主域名跳转www域名

    为集中网站权重,有时候我们需要把www域名跳转到主域名,或者主域名跳转到www域名. apache服务器如何实现主域名跳转www域名: 打开网站根目录下.htaccess文件,没有的话新建一个上传至网 ...

  2. http方式nginx 访问不带www的域名301重定向跳转到www的域名帮助seo集中权重

    比如我需要吧gucanhui.com重定向301跳转到www.gucanhui.com 需要在nginx的con发文件中加入一段 server { listen ; server_name gucan ...

  3. 筛选nginx访问日志文件中的域名

    head  -n 500 1.log |awk  '{print $11}' > 1.txt     查看1.log日志文件前500行记录并打印出第11列也就是域名的那一列,并输出到1.txt文 ...

  4. Nginx采用yum安装方式及安装后的目录

    第一次写博客就不讲究格式了,纯文字了吧 开始 第一步先执行 rpm -ivh http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release- ...

  5. Nginx 配置 HTTP 跳转 HTTPS-Linux运维日志

    本文介绍 Nginx 访问 HTTP 跳转 HTTPS 的 4 种配置方式. rewrite Nginx rewrite 有四种 flag: break:在一个请求处理过程中将原来的 url 改写之后 ...

  6. 使用宝塔面板 配置nginx 访问ftp服务器下面的图片

    如果 你在服务器上 运行war项目 可以在tomcat 配置访问的: tomcat 也贴出来吧! 一.tomca配置访问,需要更改配置文件server.xml ,如果找不到,自己好好找一下  一般在 ...

  7. nginx域名跳转技巧

    1.地址重写:访问server_name的时候跳转到http://www.cnblogs.com/qinyujie/ 修改nginx配置文件.加入到server{...}字段或者location字段里 ...

  8. centos LAMP第二部分apache配置 下载discuz!配置第一个虚拟主机 安装Discuz! 用户认证 配置域名跳转 配置apache的访问日志 配置静态文件缓存 配置防盗链 访问控制 apache rewrite 配置开机启动apache tcpdump 第二十节课

    centos    LAMP第二部分apache配置  下载discuz!配置第一个虚拟主机 安装Discuz! 用户认证 配置域名跳转  配置apache的访问日志  配置静态文件缓存  配置防盗链 ...

  9. Nginx实现ssl一级、二级域名证书部署并用https访问代理转发服务器

    1.  规划 域名 解析IP Nginx代理 htpps://www.devcult.com 47.88.10.155   htpps://auto.devcult.com 47.88.10.155 ...

  10. nginx 域名跳转 Nginx跳转自动到带www域名规则配置、nginx多域名向主域名跳转

    nginx 域名跳转 Nginx跳转自动到www域名规则配置,如果设置使 mgcrazy.com域名在用户访问的时候自动跳转到 www.mgcrazy.com呢?在网上找了好多资料都没有一个完整能解决 ...

随机推荐

  1. 通过NTP池校准服务器时间

    校准方法: pool.ntp.org 是一个以时间服务器的大虚拟集群为上百万的客户端提供可靠的 易用的 网络时间协议(NTP)服务的项目 访问地址:https://www.ntppool.org/zh ...

  2. Dcat admin 多文件上传,七牛云云端上传

    进入官网  Dcat Admin - Php后台开发框架 这里要选择1.x 下面来安装框架 安装完laravel之后,需要修改.env文件,设置数据库链接设置正确 安装 dcat-admin comp ...

  3. windows 系统下 workerman 在同一个运行窗口中开启多个 websocket 服务

    目录 开启多个 ws 服务失败 开启服务失败解决办法 同一个窗口中运行 开启多个 ws 服务失败 正常情况下,如果你想开启多个 websocket 服务的话 只要在一个文件中,输入 new Worke ...

  4. 武装你的WEBAPI-ODATA聚合查询

    本文属于OData系列 目录 武装你的WEBAPI-OData入门 武装你的WEBAPI-OData便捷查询 武装你的WEBAPI-OData分页查询 武装你的WEBAPI-OData资源更新Delt ...

  5. mongodb安装及操作

    1.回顾 node服务器的写法 服务器 前后端分离 前后端不分离 express express生成器 ejs模版语法:变量.条件判断.循环渲染.引入 2.mongodb介绍 MongoDB 是一个基 ...

  6. Revit BIM模型在ArcGIS Pro中的数据组织及转换成SLPK后的图层结构解析

    ArcGIS Pro对Revit 数据有自己的一套分层方式. 在ArcGIS Pro中打开bim文件会发现都是按照相同的方式组织数据: 将rvt格式数据转换成SLPK格式后的数据结构(将slpk数据直 ...

  7. 集合-TreeMap源码分析

    一.简介 TreeMap最早出现在JDK 1.2中,是 Java 集合框架中比较重要一个的实现.TreeMap 底层基于红黑树实现,可保证在log(n)时间复杂度内完成 containsKey.get ...

  8. 浅谈ChatGPT如何取代前端开发工程师

    1.ChatGPT 是什么? ChatGPT 是一种基于深度学习的自然语言处理技术,它可以生成高质量的自然语言文本.该技术是由 OpenAI 团队 开发,旨在使计算机能够像人类一样理解和产生自然语言. ...

  9. 代码Bug太多?给新人Code Review头都大了?快来试试SpotBugs

    如果你需要一个自动化的工具帮助你或者你的团队发现代码中的缺陷,在提升代码质量同时减少人工Code Review的成本,那这篇文章非常的适合你.本文围绕SpotBugs与Gradle集成,将相关配置和使 ...

  10. HTTP协议初见

    HTTP协议 四大特性 基于请求端响应 ​ 客户端发送请求,服务端才响应,服务端不会主动给客户端发送响应. 基于TCP/IP作用于应用层之上的协议 ​ 此协议属于应用层 无状态 ​ 服务端不会保存客户 ...