Nginx伪静态配置尝试

moonjerx
2021-07-18 / 0 评论 / 108 阅读 / 正在检测是否收录...
set $my_ip ''; 
if ( $http_x_forwarded_for = 192.168.1.169){
  set $my_ip 1;
  
} #注意这里的$remote_addr如何用了负载均衡的话,这里应该是
if ( $uri = '' ){ set $my_ip 1;}
if ( $remote_addr = 192.168.1.169 ){ set $my_ip 1;}


location ^~ /a{
    alias /home/test/a/;
    index index.html;
}
location ^~ /b{
    alias /home/test/b/;
    index index.html;
}
# location ^~ /c{
    alias /home/test/a/;
#     index index.html;
# }

location ^~ /{ 
    #匹配成功后跳转,执行永久301跳转
    # return 301 https://$server_name:1992$request_uri/v1/;
    
    rewrite ^(/)$   https://$host$1b/ permanent;
    if ( $http_x_forwarded_for !~ 192\.168\.0\..*){
        rewrite ^(.*)$   https://moonjer.com permanent;
    }
    #rewrite ^(.*)$   https://movie.moonjer.com:1992$1 permanent;
    # return 301 https://movie.moonjer.com:1992$request_uri;
}
location 指令说明,该语法用来匹配 url,语法如上:

=:用于不含正则表达式的 url 前,要求字符串与 url 严格匹配,匹配成功就停止向下搜索并处理请求。

~:用于表示 url 包含正则表达式,并且区分大小写。

~*:用于表示 url 包含正则表达式,并且不区分大小写。

^~:用于不含正则表达式的 url 前,要求 Nginx 服务器找到表示 url 和字符串匹配度最高的 location 后,立即使用此 location 处理请求,而不再匹配。

如果有 url 包含正则表达式,不需要有 ~ 开头标识。
0

评论 (0)

取消

您的IP: