什么是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错误出现的原因:

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

linux_nginx_rewrite的更多相关文章

随机推荐

  1. linux中搭建solr集群出现org.apache.catalina.LifecycleException: Failed to initialize component ,解决办法

    07-Jan-2018 20:19:21.489 严重 [main] org.apache.catalina.core.StandardService.initInternal Failed to i ...

  2. yum部署、使用 zabbix监控 - 详细过程

    yum部署zabbix监控 第1章 yum部署zabbix服务端... 1 1.1 命令行部署... 1 1.1.1 yum源配置-解释... 2 1.1.2 MariaDB 与 mysql 3 1. ...

  3. 前端js之JavaScript

    知识预览 一小知识 二 JavaScript的基础 BOM对象 DOM对象 实例练习 js拓展 小知识 核心(ECMAScript) 文档对象模型(DOM) Document object model ...

  4. SQL列中含有换行符的查找和替换方法

    最近在获取数据时,发现程序读取的字段中含有\r\n字符,检查数据库表中的数据,发现是varchar字符串中包含了换行符.导入数据导致了这一情况出现. 回车换行 不同系统的行结尾符号并不同,如下: li ...

  5. centos6.5 redis搭建

    redis安装1.wget http://download.redis.io/redis-stable.tar.gz2.tar -zxvf redis-stable.tar.gz3.cd redis- ...

  6. 解决api 跨域 webconfig添加节点

    <system.webServer><httpProtocol><customHeaders><add name="Access-Control-A ...

  7. Spring框架入门之基于xml文件配置bean详解

    关于Spring中基于xml文件配置bean的详细总结(spring 4.1.0) 一.Spring中的依赖注入方式介绍 依赖注入有三种方式 属性注入 构造方法注入 工厂方法注入(很少使用,不推荐,本 ...

  8. ArrayList排序算法的源码

    ArrayList,排序方法的调用过程 // 排序方法 public void sort(Comparator<? super E> c) { final int expectedModC ...

  9. 使用reqire.js 生成二维码

    最新项目中使用到 reqiure.js  ; 使用了一个月的感觉是: 这个确实是一个利器,如果会使用的话,能轻易理顺js之间的依赖关系,从而可以重复使用js,可以减少代码量,可以提升开发速度,但是  ...

  10. --------驱动开发之 ObReferenceObjectByName() 故障排查--------

    ------------------------------------------------------ 在写 filter driver 或 rootkit 时,经常需要 attach 到设备栈 ...