idtaanlcoe 发表于 2021-1-17 01:29:47

军哥,小白有一个301重定向跳转的新问题

参考了很多官网的教程和帖子依然没有办法做到 http://a.com,http://www.a.com,https://a.com
以上三种形式都跳向到https://www.a.com,军哥求赐教

idtaanlcoe 发表于 2021-1-17 09:25:43

server
    {
      listen 80;
      #listen [::]:80;
      server_name www.a.com a.com;
      if ($host = 'a.com') {
return 301 https://www.a.com$request_uri;
}
      index index.html index.htm index.php default.html default.htm default.php;
      root/home/wwwroot/www.a.com;
      return 301 https://www.a.com$request_uri;
      if ($host = 'a.com') {
return 301 https://www.a.com$request_uri;
}
      
      include rewrite/typecho.conf;
      #error_page   404   /404.html;

      # Deny access to PHP files in specific directory
      #location ~ /(wp-content|uploads|wp-includes|images)/.*\.php$ { deny all; }

      include enable-php-pathinfo.conf;

      location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
      {
            expires      30d;
      }

      location ~ .*\.(js|css)?$
      {
            expires      12h;
      }

      location ~ /.well-known {
            allow all;
      }

      location ~ /\.
      {
            deny all;
      }

      access_log/home/wwwlogs/www.a.com.log;
    }

server
    {
      listen 443 ssl http2;
      #listen [::]:443 ssl http2;
      server_name www.a.com a.com;
      if ($host = 'a.com') {
return 301 https://www.a.com$request_uri;
}
      index index.html index.htm index.php default.html default.htm default.php;
      root/home/wwwroot/www.a.com;
      

      ssl_certificate /usr/local/nginx/conf/ssl/a.com.crt;
      ssl_certificate_key /usr/local/nginx/conf/ssl/a.com.key;
      ssl_session_timeout 5m;
      ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
      ssl_prefer_server_ciphers on;
      ssl_ciphers "TLS13-AES-256-GCM-SHA384:TLS13-CHACHA20-POLY1305-SHA256:TLS13-AES-128-GCM-SHA256:TLS13-AES-128-CCM-8-SHA256:TLS13-AES-128-CCM-SHA256:EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5";
      ssl_session_cache builtin:1000 shared:SSL:10m;
      # openssl dhparam -out /usr/local/nginx/conf/ssl/dhparam.pem 2048
      ssl_dhparam /usr/local/nginx/conf/ssl/dhparam.pem;

      include rewrite/typecho.conf;
      #error_page   404   /404.html;

      # Deny access to PHP files in specific directory
      #location ~ /(wp-content|uploads|wp-includes|images)/.*\.php$ { deny all; }

      include enable-php-pathinfo.conf;

      location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
      {
            expires      30d;
      }

      location ~ .*\.(js|css)?$
      {
            expires      12h;
      }

      location ~ /.well-known {
            allow all;
      }

      location ~ /\.
      {
            deny all;
      }

      access_log/home/wwwlogs/www.a.com.log;
    }

licess 发表于 2021-1-17 16:09:40

你没说具体不能跳转还是跳转错误,没法做具体判断

http虚拟主机的你要301跳转到 https://www.a.com 的话不用判断$host ,直接 return 301 https://www.a.com$request_uri; 就行了
其他没有问题,修改配置文件必须要重启nginx且没有报错才能生效
另外浏览器一般都缓存301,如果之前有其他设置的301可能会被缓存,如有清缓存或无痕模式测试

idtaanlcoe 发表于 2021-1-17 16:39:04

谢谢,已解决了

idtaanlcoe 发表于 2021-1-17 16:39:06

谢谢,已解决了
页: [1]
查看完整版本: 军哥,小白有一个301重定向跳转的新问题