要实现 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. (转)codeblocks 使用研究

    原帖:http://github.tiankonguse.com/blog/2014/10/11/codeblocks-shutcut.html 使用前 使用 codeblocks 前肯定是下载安装 ...

  2. 《MySQL是怎样运行的》第五章小结

  3. Linux高并发服务器之Linux多线程开发

    本文源自C++高薪面试项目的学习笔记,主要记录Liunx多线程的学习,主要知识点是线程概述等基础概念以外,还有线程相关Liunx系统函数以及对应练手代码,除此之外还有线程同步问题的讲解以及实战多线程买 ...

  4. 网络如何运作——详细DNS、HTTP、网站

    详细的DNS 什么是DNS? DNS(域名系统)为我们提供了一种简单的方式来与互联网上的设备进行通信,而无需记住复杂的数字.就像每个房子都有一个唯一的地址可以直接向它发送邮件一样,互联网上的每台计算机 ...

  5. VSCode使用小技巧

    VSCode写C/C++项目 我们需要先下载minGW,并需要在VS Code里面下载相应的插件, 如下: 然后,将vscode保存c++项目的文件夹用vscode打开,就会出现这样的形式: 一个标准 ...

  6. 再次打开Spring界面,多处报错

    分享一下经历 在我再次打开Srpring之后,打算解决一下"历史遗留问题",发现多处标红(挺崩溃的)! 就比如这句话,刚才就是不亮: 毕竟我上次的应用还是很顺利的,所以也就没有第一 ...

  7. Android错误之--Error retrieving parent for item: No resource found that matches the given name 'Theme.A

    改正错误 (虽然内容较少,但是还是选择单独占用一篇) 这个错误,可以说是困扰了我好久,然后就看到可以改变一下使用的Android版本,改成Android 4.0,然后就去试了试,发现真的就好了耶! 就 ...

  8. 我为什么推荐Nuxt3

    我为什么推荐Nuxt3? 大家好,我今天想和你们分享一个非常棒的前端框架--Nuxt3.自从我接触了Nuxt3,我发现它在前端开发领域具有很多优点.我想逐一向你们介绍Nuxt3的优势,并向大家推荐一些 ...

  9. Django笔记十三之select_for_update等选择和更新等相关操作

    本篇笔记将介绍 update 和 create 的一些其他用法,目录如下: get_or_create update_or_create select_for_update bulk_create b ...

  10. 一个.Net简单、易用的配置文件操作库

    在我们日常项目开发中,操作INI/CFG配置文件,往往会通过调用WinAPI来实现,WinAPI接口参数只支持字符串,而我们项目中,往往数据类型是多种多样的,在保存和获取配置值,我们就要进行类型的转换 ...