全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworks网络延迟测速工具IP归属甄别会员请立即修改密码
查看: 815|回复: 7

[Windows VPS] Nginx 301规则

[复制链接]
发表于 2019-1-28 12:47:43 | 显示全部楼层 |阅读模式
请教一下,有大佬知道这个应用场景的Nginx 301规则么 谢谢~
旧域名换到新域名,都是加了https的。
旧域名在A服务器,新域名在B服务器。

查看了这里:https://boke112.com/4651.html 还是没搞定。

如:
访问搜索引擎里的旧域名 https://www.baidu.com/123.html
跳转到:https://www.newbaidu.com/123.html

发表于 2019-1-28 12:50:26 | 显示全部楼层
server{
server_name boke112.com;
retrun 301 https://www.newbaidu.com$request_url;
}

纯手打 应该就这样了
发表于 2019-1-28 12:51:26 | 显示全部楼层
本帖最后由 夜桜 于 2019-1-28 12:53 编辑
  1. server {
  2.     server_name www.baidu.com;
  3.     return 301 https://www.newbaidu.com$request_uri;
  4. }
复制代码
 楼主| 发表于 2019-1-28 13:17:00 | 显示全部楼层

谢谢,我也是这样只改了 旧服务器上原域名的.conf规则
在末尾直接加的这个。。。

server
        {
        listen          80;
        server_name baidu.com www.baidu.com;
        return 301 https://www.newbaidu.com$request_uri;
}

但搜索引擎里的原域名链接跳转不了,还是404 Not Found
发表于 2019-1-28 13:45:17 | 显示全部楼层
阳光淡蓝 发表于 2019-1-28 13:17
谢谢,我也是这样只改了 旧服务器上原域名的.conf规则
在末尾直接加的这个。。。

你原本域名是https的,你就不能只listen 80,https是443
发表于 2019-1-28 13:47:22 | 显示全部楼层
本帖最后由 aRNoLD 于 2019-1-28 13:57 编辑
阳光淡蓝 发表于 2019-1-28 13:17
谢谢,我也是这样只改了 旧服务器上原域名的.conf规则
在末尾直接加的这个。。。


你这个只能跳一半,即http老转到https新

你还需要一段代码用以完成https老转到https新


  1.         ## 以下代码是进行http到https转移的
  2.     server {
  3.         listen       80;
  4.         ## 如果有ipv6地址,就把下面一行的标注符号去掉
  5.         #listen [::]:80 ipv6only=on;
  6.         server_name  *.mydomain.tld;

  7.         return  301  https://$host$request_uri;

  8.         ## 或者使用以下if转向语句,但nginx官方不推荐使用if
  9.         #if ($ssl_protocol = "") { return 301 https://$host$request_uri; }
  10.     }
复制代码



  1. ## 下面这段完成老至新域名的443转移
  2. server {
  3.     listen                 443 ssl http2;
  4.     server_name         mydomain.tld;
  5.     return               301 $scheme://mynewdomain.tld$request_uri;
  6. }
复制代码
 楼主| 发表于 2019-1-28 14:31:57 | 显示全部楼层
本帖最后由 阳光淡蓝 于 2019-1-28 14:33 编辑
aRNoLD 发表于 2019-1-28 13:47
你这个只能跳一半,即http老转到https新

你还需要一段代码用以完成https老转到https新


明白了,谢谢!

之前的配置文件顶部已经有这一段:(添加上红色那行就行了吧)
server
        {
        listen 443;
                #listen [::]:443 ssl spdy;
        server_name     baidu.com  www.baidu.com;
       return 301 https://www.newbaidu.com$request_uri;
        index index.html index.htm index.php default.html default.htm default.php;
        root  /home/wwwroot/baidu.com;

发表于 2019-1-28 16:21:55 | 显示全部楼层
  1. if ($host = 'lnmp.org') {
  2.   return 301 https://www.lnmp.org$request_uri;
  3. }
复制代码


443还要加上这个 不然https://旧域名 不会跳转
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2024-4-25 13:28 , Processed in 0.059625 second(s), 8 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表