zoukankan      html  css  js  c++  java
  • linux_nginx_rewrite

    什么是Nginx的rewrite?

           实现URL地址重写,比较复杂的write需要开发来完成,伪静态处理实现是开发的工作,

           这rewrite写在location中

           指令语法:    rewrite regex relplacement[flag]

                  rewrite ^/(.*) http://www.yunhello.cn/$1 permanet

                  rewrite   # 固定关键字,开启正则匹配规则, $1 表示前面()内匹配的内容

         regex 部分是 ^/(.*) 这个是正则表达式,匹配所有,匹配成功后跳转到http://www.yunhello.cn/$1, $1 是前面正则括号内匹配到的内容

         permanet      永久重定向标记,即永久跳转到后面的 http://www.yunhello.cn/$1 地址上,也就是跳转到这个url中,又重新通过Nginx进行匹配

    server {
        listen       80;
        server_name  bbs.yunhello.cn;
        location / {
            rewrite ^/(.*)http://www.yunhello.cn/$1 permanet;
        }
    }
    # 这个rewrite是跳转到新的站点上

    除了 permanet 标记后,还有哪些?

           redirect         302 临时重定向

           permanet      301 永久重定向

           last                本次规则匹配完,继续向下匹配location

           break            本次规则匹配完,不在向下匹配

    Nginx Rewrite的企业应用场景

           必须使用到

    1. 可以调整用户浏览器的URL,看起来更规范,合乎开发和产品人员的需求
    2. 让搜索引擎收录和更好的用户体验,伪静态或纯静态
    3. 网站换了域名后,让旧的域名的访问跳转到新的域名上,让京东的360buy换成jd.com

    Nginx访问认证

           企业内部人员使用,企业后台,mysql客户端phpmyadmin,企业内部CRM,WIKI等网站平台

           放到 location中或者放到server中

                  auth_basic           提示

                  auth_basic_user_file  默认值 - , 接密码认证文件,和rsync客户端密码文件格式一样

           站点后台:

    server {
        listen       80;
        server_name  manage.etiantian.org;
        location / {
            auth_basic      "hahaha"
            auth_basic_user_file conf/htpassd
        }  
    }
    
    # 密码文件: conf/htpassd
    
    name1:passwd1:comment       # 用户名:密码:说明,这里密码是加密的,不能人工修改,通过apache的htpasswd命令创建
    
    htpasswd -cb /application/nginx/conf/htpasswd user password         # 创建用户和密码,指定存放文件,-c 指定文件, -b非交互式

    这个rewrite功能是什么呢,具体体现方向是什么?

           重写url 和完成域名跳转

           具体方向是浏览器中网站地址框更好看了,也就是说只是更改了url显示,还有跳转的时候,先显示原url再显示跳转到URL

    403错误出现的原因:

           没有首页,或没有读这个文件的权限

  • 相关阅读:
    同一页面的不同Iframe获取数据
    同一页面的两个Iframe获取数据
    关于从SVN检出项目后,项目名称还是之前修改之前或者项目名称不对问题
    <fieldset>标签
    利用js动态创建<style>
    找换硬币问题 与 0-1背包问题区别
    某种 找换硬币问题的贪心算法的正确性证明
    部分背包问题的贪心算法正确性证明
    从 活动选择问题 看动态规划和贪心算法的区别与联系
    求解两个字符串的最长公共子序列
  • 原文地址:https://www.cnblogs.com/2bjiujiu/p/8117463.html
Copyright © 2011-2022 走看看