美文网首页
Nginx_Rewrite实战

Nginx_Rewrite实战

作者: 阿当运维 | 来源:发表于2020-08-13 16:46 被阅读0次

    last(匹配完这条规则继续往下匹配)和break(匹配完这条终止匹配) ------跳转后地址栏不变
    redirect (302临时重定向)和permanent (301永久重定向)---跳转后地址栏边变化

    实例1:输入www.discuz.com/index.php 跳转到 www.rediscuz.com(地址栏变成这个地址)

    location ~ \.php$ {
        if ( $host = 'www.discuz.com' ) {
    
              rewrite ^/index.php$ http://www.rediscuz.com/  permanent (^/ 表示地址栏末尾以/开头index.php结尾)
         }
    }
    

    如果是输入www.discuz.com 就跳转 那么规则应该是^/(斜杠开头 斜杠结尾),如果吧参数都转走的话, 就是^/(.*) http://跳转后网址/$1
    实例2:访问/jfedu/test01/跳转至/newindex.html,浏览器地址不变。

    rewrite ^/jfedu/test01/$  /newindex.html last;
    

    实例3:访问文件和目录不存在跳转至 index.php。

     if ( !-e $request_filename )
            {
                    rewrite ^/(.*)$  /index.php break;
            }
    
    

    实例4:判断移动设备 ,并跳转到移动端

    if ( $http_user_agent ~* "(Android)|(iPhone)|(Mobile)|(WAP)|(UCWEB)" )
    {
    rewrite ^/$  http://m.discuz.com/ permanent;
    }
    

    实例5:匹配 URL 访问字符串跳转。(www.discuz.com/index.php?tid=13)

    if ($args ~* tid=13){
        return 404;
    }
    

    实例6:目录对换 /xxxx/123456 ====> /xxxx?id=123456。(1是第一个参数,2是第二个)

    rewrite ^/(.+)/(\d+) /$1?id=$2 last;
    

    实例7:判断是ie浏览器的就跳转到指定网页

    if( $http_user_agent ~ MSIE)
    {
        rewrite ^(.*)$ /ie/$1 break;
    }
    

    相关文章

      网友评论

          本文标题:Nginx_Rewrite实战

          本文链接:https://www.haomeiwen.com/subject/cibedktx.html