前几天突然发现一件事,就是访问Google和Baidu的根域名都会跳转到www
的域名下,没有搜到为什么要这样做,但还是效仿着搞一搞吧。
对我个人来说,301
跳转之后存在一个历史问题,就是以前我在很多地方留的链接地址都是https://lucien.ink,这样的话在我开了301
跳转之后,通过80
端口验证的时候申请/续期不了Let's Encrypt
的证书,通过443
端口验证的话又要暂停一下Nginx
以解决端口占用的问题,很麻烦。而不开443
的时候https
又访问不了,开了443
却不搞ssl
就会被浏览器拦截,很无语。
所以说要么我每次手动搞一搞,要么想一个办法让网站可以在301
的情况下搞一搞Let's Encrypt
。
百度谷歌无果,自己尝试着写了一下,大体思路就是如果当前请求的链接里含有.well-known
的话就不301
跳转,比想象中要简单得多。
server
{
listen 80;
listen 443 ssl http2;
server_name www.lucien.ink;
index 主页;
root 网站路径;
}
server
{
listen 80;
listen 443 ssl http2;
server_name lucien.ink;
root 网站路径;
if ($request_uri !~* [^\s]*/.well-known/[^\s]*)
{
rewrite ^(/.*)$ https://www.lucien.ink$1 permanent;
}
}