首页 > 系统相关 >nginx 访问域名跳转至域名后接目录

nginx 访问域名跳转至域名后接目录

时间:2023-05-11 09:37:14浏览次数:53  
标签:name 后接 server ssl 域名 跳转 new com listen

要实现 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 配置文件,即可生效。

标签:name,后接,server,ssl,域名,跳转,new,com,listen
From: https://www.cnblogs.com/blogwjbb/p/17390006.html

相关文章

  • 假设知道服务器IP,如何查询它绑定的域名?
    在一些场景中,我们往往只得到了一个IP地址,那么如何通过IP地址快速地找到它绑定的域名呢?1、IP历史解析记录输入查询的IP地址,获取IP绑定过的域名记录。ip138查询:https://site.ip138.com/2、同站/旁站查询关键词:IP反查域名、同IP网站查询、旁站查询,通过一些在线查询工具获取域名。IP反......
  • Vue路由跳转时的动画效果
    1.写一个layout组件,降<router-view/>包裹在transition标签里,实现路由跳转时的动画 2.在router/index.js里面引入该组件,并放在component:layout这里,功能完成 3.transition是vue的封装组件,具体可参考官网 https://cn.vuejs.org/guide/built-ins/transition.html#css-based-......
  • Nginx实现只允许某个特定网址跳转过来的访问请求
    可以通过Nginx的ngx_http_referer_module模块来实现。ngx_http_referer_module模块可以检查HTTP请求头中的Referer字段,该字段指示了请求是从哪个URL跳转而来的。您可以配置Nginx,使其仅允许从特定网址跳转过来的请求通过,而拒绝来自其他网址的请求。以下是一个简单......
  • html 跳转到新的网址
    更新window.location.href后面的值即可文件名为index.html<!DOCTYPEhtml><html><head><metacharset='utf-8'><metahttp-equiv='X-UA-Compatible'content='IE=edge'><title>页面标题</title>......
  • 运用nginx和阿里云解析配置二级域名
    进入阿里云管理控制台,在左侧菜单选择云解析,nginx配置文件的配置如下,配置完成后重启nginx即可公众号:chengziboke888......
  • Win10打开IE自动跳转至Edge解决办法
    WIN+R输入inetcpl.cpl弹出Internet属性对话窗口点击上面菜单中的【高级】选项滑动右侧滚动条,找到【浏览】项下面的【启用第三方浏览器拓展*】并取消勾选双击IE浏览器图标测试是否生效......
  • 解决微信小程序"不在以下 request 合法域名列表中"
    如果在本地开发的状态下,我们本机的地址域名是没有配置在小程序后台的我们可以临时禁用掉这个检测看下面图示 ......
  • react-navigation 页面跳转
    使用react-navigation在进行页面跳转的时候,遇到些问题,现在来总结下,主要是web和android的差异react-navigation页面跳转方法navigationnavigate-转到另一个屏幕,找出需要采取的操作replace-用新屏幕替换当前屏幕push-将新屏幕推到堆栈上pop-回到堆栈中popToTo......
  • Nginx 多个域名解析到同一个服务器
    域名证书绑定参照:nginx发布网站通过域名访问,后端接口反向代理-AutumnSilence-博客园(cnblogs.com)1、域名解析到服务器上 2、修改nginx配置文件定义两个server,监听443端口,修改server_name绑定的值  server{    listen   443ssl;  ......
  • kubernetes域名解析服务CoreDNS
    k8sdns组件历史简介kubernetes的DNS组件历史有三个,分别是skydns、kube-dns和coredns;在k8s1.3版本之前使用的是skydns,之后的版本到1.17及之间的版本都是使用的kube-dns,1.18开始至今主要使用coredns;这些dns组件在k8s当中,主要作用就是解析k8s中servicename所对应的IP地......