大佬教程收集整理的这篇文章主要介绍了删除 www 和缩短 URL 时如何避免 Nginx 中的多次重定向,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我浏览了很多教程,但找不到我的案例的答案。
我正在将我的网站移至非 www 域,同时还重命名和缩短 URL。 下面是我的 Nginx 虚拟 conf 结构:
server {
Listen 443 ssl;
server_name www.example.com;
ssl_certificate /path/to/certificate.crt;
ssl_certificate_key /path/to/private/key.pem;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
return 301 https://example.com$request_uri;
}
server {
Listen 443 ssl;
server_name example.com;
ssl_certificate /path/to/certificate.crt;
ssl_certificate_key /path/to/private/key.pem;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
# 400 redirects manually entered here:
LOCATIOn /long-url-1/ { return 301 https://example.com/short-url-1; }
LOCATIOn /long-url-2/ { return 301 https://example.com/short-url-2; }
# etc,other redirects conTinue
}
我目前遇到的上述重定向规则的问题是,如果我在浏览器中输入完整的长 URL,例如:
https://www.example.com/long-url-1/
我在到达目标网址之前被重定向了两次:
301 https://www.example.com/long-url-1/
301 https://example.com/long-url-1/
200 https://example.com/short-url-1
这显然对用户和搜索引擎机器人不利。
我想可能的解决方案可能是采用我的重定向规则并将它们也复制到第一个服务器块中(就在 return 301 https://example.com$request_uri;
之前)但它不起作用。我仍然得到两个重定向 www => non-www => new-short-url。
如何避免多次重定向并将用户直接发送到我的目标网址?
编辑:请注意,我仍然想从 www => 非 www 重定向用户,以防在我的“手动输入的重定向列表”中找不到请求的 URL,例如:
https://www.example.com/some-new-url/ => 301 redirect => https://example.com/some-new-url/
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)
以上是大佬教程为你收集整理的删除 www 和缩短 URL 时如何避免 Nginx 中的多次重定向全部内容,希望文章能够帮你解决删除 www 和缩短 URL 时如何避免 Nginx 中的多次重定向所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。