卡卷网
当前位置:卡卷网 / 技术教程 / 正文

宝塔设置Nginx301重定向不成功的解决办法

作者:卡卷网发布时间:2024-09-07 18:07浏览数量:6771次评论数量:0次

在宝塔面板中设置Nginx的301重定向,通常是在网站的根目录下找到或创建一个名为.htaccess的文件来放置重定向规则。但实际上,.htaccess文件主要用于Apache服务器的配置。对于使用Nginx服务器的情况,我们通常直接修改站点的配置文件来实现重定向。

宝塔设置Nginx301重定向不成功的解决办法  第1张


如果你想要在Nginx中设置一个301重定向规则,例如将所有旧域名oldsite.com的访问重定向到新域名newsite.com,你可以在宝塔面板中按照如下步骤操作:

1.进入宝塔面板,选择相应的网站。

2.点击“设置”按钮进入该网站的设置页面。

3.找到并点击“配置文件”选项,这会打开Nginx的配置文件。

4.在配置文件中添加如下重定向规则:

server {
    listen 80;
    server_name oldsite.com www.oldsite.com; # 修改为你需要重定向的域名
    return 301 http://newsite.com$request_uri; # 修改为你的目标域名
}

如果你只需要重定向一个特定路径或者特定的页面,可以调整$request_uri部分来匹配你需要重定向的具体路径。

5.保存配置文件后,回到宝塔面板的首页,重启Nginx服务使配置生效。

请注意,如果你的网站绑定了SSL证书,那么应该将http改为https,确保协议一致。

如果你有任何具体的重定向需求或者其他关于Nginx配置的问题,请详细说明,我可以帮助你定制更适合你的重定向规则。

试过上述操作还是301重定向不成功,案例是xxx.com重定向到www.xxx.com不成功,开启了SSL证书  

如果你想针对HTTPS流量也进行重定向,你可以同时监听443端口,并且确保返回的状态码是301:

server {
    listen 443 ssl;
    server_name oldsite.com www.oldsite.com; # 替换为你的旧域名
    ssl_certificate /www/server/panel/vhost/cert/oldsite.com/fullchain.cer; # 替换为你的证书路径
    ssl_certificate_key /www/server/panel/vhost/cert/oldsite.com/privkey.pem; # 替换为你的私钥路径
    ssl_session_timeout 10m;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!AECDH:!RC4;
    ssl_prefer_server_ciphers on;

    # 设置301永久重定向
    return 301 https://newsite.com$request_uri; # 替换为你的新域名
}

试了这个代码也不能把xxx.com重定向到www.xxx.com

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

server {
    listen 443 ssl;
    server_name example.com www.example.com;
    ssl_certificate /www/server/panel/vhost/cert/example.com/fullchain.cer;
    ssl_certificate_key /www/server/panel/vhost/cert/example.com/privkey.pem;
    ssl_session_timeout 10m;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!AECDH:!RC4;
    ssl_prefer_server_ciphers on;

    return 301 https://targetdomain.com$request_uri;
}


最后经测试这个代码可以成功设置301重定向,结论是不管是80端口还是443端口,http和https都需要设置重定向才可以!

END

免责声明:本文由卡卷网编辑并发布,但不代表本站的观点和立场,只提供分享给大家。

卡卷网

卡卷网 主页 联系他吧

请记住:卡卷网 Www.Kajuan.Net

欢迎 发表评论:

请填写验证码