Nginx服务器重写路径

腾讯云的备案因为在考试当中漏接了管局的电话没有获得通过——无语。

想着先凑合用着,但是在lnmp vhost add后我发现

原有的rewrite重写能够实现去www和https的双重跳转完全是一个巧合

server_name sstu.cc haveacafe.cn;
#强制http跳转到https
#return 301 https://$host$request_uri;
#强制不加www,顺便跳转https
if  ( $host != 'sstu.cc'  )  {
rewrite ^/(.*)$ https://sstu.cc/$1 permanent;
}
if  ( $host != 'haveacafe.cn'  )  {
rewrite ^/(.*)$ https://haveacafe.cn/$1 permanent;
}

这其中由于我的网站绑定了两个域名,而!=的非判定导致了Nginx做出了一个双重判定,而一旦只添加一个域名时,

server_name sstu.cc www.sstu.cc;
#强制不加www,顺便跳转https
if  ( $host != 'sstu.cc'  )  {
rewrite ^/(.*)$ https://sstu.cc/$1 permanent;
}

两个!=的效果消失,在输入sstu.cc的时候就无法跳转到https,故而在只是用一个域名时,应当采用如下的rewrite

server_name sstu.cc www.sstu.cc;
#强制不加www,顺便跳转https
if ( $host = 'sstu.cc' ) {
rewrite ^/(.*)$ https://sstu.cc/$1 permanent;
}
if ( $host = 'www.sstu.cc' ) {
rewrite ^/(.*)$ https://sstu.cc/$1 permanent;
}

 

消息盒子
# 您需要首次评论以获取消息 #
# 您需要首次评论以获取消息 #

只显示最新10条未读和已读信息