什么是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. 【旋转卡壳+凸包】BZOJ1185:[HNOI2007]最小矩形覆盖

    1185: [HNOI2007]最小矩形覆盖 Time Limit: 10 Sec  Memory Limit: 162 MBSec  Special JudgeSubmit: 1945  Solve ...

  2. Linux 笔记 #03# 在 Debian远程服务器上运行 Java socket程序

    我试图做什么:把我的破代码放到服务器上运行,并成功与客户端进行 socket通信. 预备环境:刚安装好 MySQL 和 JVM 的 Linux远程服务器(Debian 8)一台. 主要有如下几个步骤: ...

  3. Solidity 中文文档 —— 第一章:Introduction to Smart Contracts

    第一章:智能合约简介 粗略地翻译了 Ethereum 的智能合约开发语言的文档:Solidity.欢迎转载,注明出处. 有任何问题请联系我,本人微信:wx1076869692,更多详情见文末. 我是 ...

  4. 软件161A 张慧敏

    一.PTA实验作业 题目1:7-11 单向链表3:编程实现:输入一个正整数 repeat (0<repeat<10),做 repeat 次下列运算:输入一个正整数 n(0<n< ...

  5. Flask源码流程剖析

    在此之前需要先知道类和方法,个人总结如下:  1.对象是类创建,创建对象时候类的__init__方法自动执行,对象()执行类的 __call__ 方法 2.类是type创建,创建类时候type的__i ...

  6. Flask笔记

    # -*- coding: utf-8 -*- from flask import Flask,render_template,request,redirect,session,url_for imp ...

  7. 【批处理学习笔记】第十二课:常用DOS命令(2)

    文件管理type 显示文本文件的内容.copy 将一份或多份文件复制到另一个位置.del 删除一个或数个文件.move 移动文件并重命名文件和目录.(Windows XP Home Edition中没 ...

  8. c语言几个松散的地方(不足的地方,不严谨的地方,它容易出错的地方)。

    c语言是面向过程的语言,是弱类型语言,c语言的源代码基本就是无数个函数的堆砌.即很多函数就组成c语言源代码了,也即它的源代码基本就是函数构成的. C语言里面的test()和test(void)是不一样 ...

  9. JAVA代码实现嵌套层级列表,POI导出嵌套层级列表

    要实现POI导出EXCEL形如 --A1(LV1) ----B1(LV2) ----B2(LV2) ------C1(LV3) ------C2(LV3) ----B3(LV2) --A1(LV1)

  10. Android Studio解决导入项目非常慢的问题

    http://www.androidchina.net/5527.html Android Studio比Eclipse ADT有巨大的优势. Android Studio原生支持使用Gradle来构 ...