账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    nginx实现两个域名之间跳转配置
    25
    0

    1.我有两个域名,分别是www.a.com, www.b.com,现在我想让所有www.a.com的访问地址都跳转到www.b.com,比如 https://www.a.com/sample.html 跳转到https://www.b.com/sample.html
    2.下面是我域名www.a.com的nginx配置:

    server{
        listen 80;
        server_name www.a.com a.com;
        return 301 https://$server_name$request_uri;
    }
    
    
    server {
       listen 443 ssl http2;
       server_name a.com www.a.com;
       index  index.php index.html index.htm;
       root   /usr/share/nginx/iwwenbo;
       add_header X-Frame-Options DENY;
       add_header X-Content-Type-Options nosniff;
    
       ssl_certificate /etc/letsencrypt/live/a.com/fullchain.pem;
       ssl_certificate_key /etc/letsencrypt/live/a.com/privkey.pem;
       ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
       ssl_ciphers EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
       ssl_prefer_server_ciphers on;
       ssl_session_cache shared:SSL:10m;
       ssl_session_timeout 60m;
    
        location / {
            try_files $uri $uri/ /index.php?$args;
        }
    
        location ~ \.php$ {
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  $document_root/$fastcgi_script_name;
            include        fastcgi_params;
        }
    
    }
    

    请问如何修改能实现上述功能,将所有https://www.a.com/sample.html的地址,全部转移到https://www.b.com/sample.html

    ========update===========
    问题已经成功解决,解决方案详见nginx配置两个域名url之间跳转(https配置)

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 落在谁的指尖 普通会员 1楼

      在Nginx中,我们可以使用location指令来实现两个域名之间跳转。以下是一个简单的示例:

      ```nginx server { listen 80; server_name example.com example2.com;

      location / {
          if ($uri ~* /index.php/) {
              rewrite ^ /index.php last;
          }
          location /second {
              if ($uri ~* /second.php/) {
                  rewrite ^ /second.php last;
              }
          }
      }
      

      } ```

      在这个示例中,我们有两个域名:example.com和example2.com。当我们访问这两个域名的任何资源时,Nginx将根据uri中是否包含"/index.php"或"/second.php"来决定跳转到哪个文件。

      如果你想要跳转到不同的文件,你可以在if子句中添加更多的if语句。例如,如果你想跳转到"/other-page.php",你可以添加以下代码:

      nginx location / { if ($uri ~* /index.php/) { rewrite ^ /index.php last; } if ($uri ~* /second.php/) { rewrite ^ /second.php last; } if ($uri ~* /other-page.php/) { rewrite ^ /other-page.php last; } }

      这将在所有包含"/index.php"或"/second.php"的uri中重定向到"/other-page.php"。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部