军哥,小白有一个301重定向跳转的新问题
参考了很多官网的教程和帖子依然没有办法做到 http://a.com,http://www.a.com,https://a.com以上三种形式都跳向到https://www.a.com,军哥求赐教
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;
}
你没说具体不能跳转还是跳转错误,没法做具体判断
http虚拟主机的你要301跳转到 https://www.a.com 的话不用判断$host ,直接 return 301 https://www.a.com$request_uri; 就行了
其他没有问题,修改配置文件必须要重启nginx且没有报错才能生效
另外浏览器一般都缓存301,如果之前有其他设置的301可能会被缓存,如有清缓存或无痕模式测试 谢谢,已解决了 谢谢,已解决了
页:
[1]