zoukankan      html  css  js  c++  java
  • nginx重定向rewrite

    引入rewrite

    vim /etc/nginx/conf.d/mobile_pc.conf 
    
    server{
        listen 80; 
        server_name www.zls.com zls.com;
        root /mobile_pc;
        index index.html;
        if ( $http_user_agent ~* "Android" ){
            rewrite ^/$ http://$host/android redirect;
        }   
        if ( $http_user_agent ~* "iPhone|iPad" ){                                                                                          
            rewrite ^/$ http://$host/ios redirect;
        }   
    }
    

    rewrite介绍

    1.什么rewrite?

    将浏览器,发送到服务器的请求(url),根据规则重写,返回给用户

    到底要干什么:就是修改url

    为什么要修改url:为了安全,为了提高用户的体验

    2.为什么要使用rewrite

    就是为了修改URL,从而提高用户的体验

    rewrite作用:

    1.80强转443(提高用户的体验)

    2.匹配客户端规则,返回对应页面(提高用户的体验)

    3.伪静态(SEO)

    什么是伪静态?

    原本的动态也面,需要调用数据库,但是在浏览器中的url里,返回的是一个静态页面以html,css,js,shtml

    为什么要做伪静态?

    1.安装

    2.为了SEO

    3.如何使用rewrite

    Rewrite标记Flag

    rewrite指令根据表达式来重定向URL,或者修改字符串,可以应用于server,location,if环境下,每行rewrite指令最后跟一个flag标记,支持的flag标记有如下表格所示:

    flag 作用
    last 本条规则匹配完成后,停止匹配,不再匹配后面的规则
    break 本条规则匹配完成后,停止匹配,不再匹配后面的规则
    redirect 返回302临时重定向,地址栏会显示跳转后的地址
    permanent 返回301永久重定向,地址栏会显示跳转后的地址
    server {
            listen 80;
            server_name r.drz.com;
            root /code;
    
            location /abc {
                    rewrite (.*) /ccc/bbb/2.html redirect;
            }
            location /2018 {
                    rewrite ^/2018/(.*) /2014/$1 redirect;
            }
            location / {
                    #rewrite 正则   替换内容  redirect;
                    #rewrite 正则   /course/11/22/33/course_33.html  redirect;
                    rewrite ^/couese-(.*)-(.*)-(.*).html$   /course/$1/$2/$3/course_$3.html  redirect;
                    # 不仅是不灵活,需求写死了,永远都是一个页面
                    #rewrite ^/couese-(.*)  /course/11/22/33/course_33.html  redirect;
            }
    
    }
    
    
  • 相关阅读:
    .net core 项目发布IIS
    .net core 项目连接SQL SERVER数据库报错provider: Named Pipes Provider, error: 40 – Could not open a connection to SQL Server) (Microsoft SQL Server, Error
    网络通讯五层架构入门
    TCP协议学习笔记
    路由器和交换机入门随笔
    互联网通讯的过程
    无论做什么行业,都要有自己的积累!
    C#使用sqlserver2005自动创建数据表和自动添加某个字段索引
    c# treeview在指定名称下添加节点
    测试的行业选择
  • 原文地址:https://www.cnblogs.com/gshelldon/p/13374380.html
Copyright © 2011-2022 走看看