简述location规则优先级-实现域名跳转-不同语言-终端跳转-错误页面返回首页-腾讯公益首页
= :精确匹配(必须全部相等) #精准匹配优先级最高
~ :大小写敏感(正则表达式) #一般使用~*忽略大小写匹配 (正则表达式 有上下区分,上优先匹配,下后匹配)
~* :忽略大小写(正则表达式),这里要注意忽略大小写的意思是请求的字符大小写都可以, 但是不会进行大小转换,请求的大小写对应的文件必须存在。
^~ :只需匹配uri部分 #有该匹配规则时将会忽略正则表达式(= / ~)
@ :内部服务跳转

/usr/local/nginx/sbin/nginx -s reload

= : 一般是匹配某个具体文件。

mkdir -p /usr/local/nginx/html/test echo "this is test new index.html" >/usr/local/nginx/html/test/index.html

~ :大小写敏感 (正则表达式)



~* : 大小写忽略 (正则表达式)


# 则会忽略 uri 部分的大小写
#curl 192.168.1.12/jfedu.jpg [成功] 可以成功匹配,但是目录中要jfedu.jpg文 件
#curl 192.168.1.12/JFEDU.jpg [成功] 可以成功匹配,但是目录中要JFEDU.jpg文 件
以上仅仅是echo 打印测试: 在真实环境需要改文件或者图片
^~ : 只匹配以uri开头, 匹配成功以后, 会停止搜索后面的正则表达式匹配。

重启加载Nginx服务
/usr/local/nginx/sbin/nginx -s reload

nginx的rewrite功能需要pcrer软件支持,即通过perl兼容正则表达式语句进行匹配的。
rewrite <regex> <replacement> [flag];
正则 替代内容 flag标记 正则:perl兼容正则表达式语句进行规则匹配
替代内容:将正则匹配的内容替换成replacement
flag标记:rewrite支持的flag标记 #flag标记说明:
last #本条规则匹配完成终止当前location的规则,继续向下匹配新的location URI规则
break #本条规则匹配完成即终止, 不再匹配后面的任何规则
redirect #返回302临时重定向,浏览器地址会显示跳转后的URL地址
permanent #返回301永久重定向, 浏览器地址栏会显示跳转后的URL地址
实现域名跳转
方法一:
server {
listen 80;
server_name www.lutixia.com;
rewrite ^/(.*)$ http://www.fdd1.com/$1 permanent;
}
server {
listen 80;
server_name www.fdd1.com;
location / {
root /data/www;
index index.html index.htm
}
}


curl 测试
curl -lv www.fdd1.com
curl -lv www.lutixia.com
curl -lv lutixia.com
server {
listen 80;
server_name www.fdd1.com www.lutixia.com ;
if ( $host != 'www.fdd1.com' ) {
rewrite ^/(.*)$ http://www.fdd1.com/$1 permanent;
}
location / {
root /data/www;
index index.html index.htm;
}
}
server {
listen 80;
server_name www.fdd1.com lutixia.com;
root /data/www;
index index.html index.htm;
charset utf-8;
if ( $http_accept_language ~ "zh" ) {
rewrite ^/$ /zh;
}
if ( $http_accept_language ~ "en" ) {
rewrite ^/$ /en;
}
}
mkdir -p /data/www/zh en
echo "this is 中文 " >/data/www/zh/index.html
echo "this is English" >/data/www/ch/index.html



开启此模块,
设置如下:
error_page 404 =200 /index.html;


<!DOCTYPE HTML>
<html>
<head>
<meta charset="UTF-8" />
<title>公益404</title>
</head>
<body>
<!--<script type="text/javascript"
src="http://www.qq.com/404/search_children.js"></script>--> <script type="text/javascript"
src="//qzonestyle.gtimg.cn/qzone/hybrid/app/404/search_children.js"
charset="utf-8"></script> </body>
</html>

简述location规则优先级-实现域名跳转-不同语言-终端跳转-错误页面返回首页-腾讯公益首页的更多相关文章
- Nginx 配置 Location 规则优先级问题
nginx 的 location与配置中 location 顺序没有关系,与 location 表达式的类型有关.相同类型的表达式,字符串长的会优先匹配. 以下是按优先级排列说明: 等号类型(=)的优 ...
- nginx之location匹配优先级和安全问题
最近一直在做location的配置,遇到优先级别问题(如有配置不当,会存在安全隐患),以下是个人的一些学习体会 一.location 匹配符 1.等于匹配符: ##"=" ...
- Nginx Location规则
Nginx由内核和模块组成,其中内核的设计非常微小和简洁,完成的工作也非常简单,仅仅通过查找配置文件将客户端的请求映射到一个location block,而location是Nginx配置中的一个指令 ...
- nigx配置location规则
以下是收集的,对于不是很熟的朋友,配置转发很有帮助 1.location匹配命令和优先级: 优先级: Directives with the = prefix that match the query ...
- 详细解析 nginx uri 如何匹配 location 规则
location 是 nginx 配置中出现最频繁的配置项,一个 uri 是如何与多个 location 进行匹配的? 在有多个 location 都匹配的情况下,如何决定使用哪一个 location ...
- nginx 反向代理 配置 https 实现http https同时存在 经测试 支持location 规则
server { listen ssl; #监听443端口 server_name www.app01.com; ssl on; #启用ssl加密 ssl_certificate /etc/cert/ ...
- 从webkit内核简单看css样式和css规则优先级(权重)
目录 webkit中样式相关类及类间关系 样式规则匹配 权重(优先级)计算 权重相同时的覆盖原则 webkit中样式相关类及类间关系 资料来源: <webkit技术内幕> 结构相关类: 1 ...
- nginx location的优先级
原来一直以为location的优先级是先后顺序,结果有次项目中傻眼了,赶紧百度一下,下面的内容参考了这个链接 location表达式类型 ~ 表示执行一个正则匹配,区分大小写~* 表示执行一个正则匹配 ...
- nginx自定义500,502,504错误页面无法跳转【转】
1.自定一个页面,这个页面是一个链接地址可以直接访问的. 以下是nginx的配置: location / { proxy_pass http://tomcat_app108; ...
- PHP实现根据浏览器跳转不同语言页面代码
以下是对使用PHP实现根据浏览器跳转不同语言页面的代码进行了介绍,需要的朋友可以过来参考下 代码: <?php /** * 根据不同浏览器跳转不同页面 * 来源:www.jbxue.com * ...
随机推荐
- 【websocket】小白快速上手flask-socketio
大家好,我是一个初级的Python开发工程师.本文是结合官方教程和代码案例,简单说下我对flask-socketio的使用理解. 一.websocket简介 websocket 说白一点就是,建立客户 ...
- MySQL8 概述、下载、安装、使用(Windows2019和centos7.9)
MySQL8 概述.下载.安装.使用(Windows2019和centos7.9) 1.MySQL概述 1.1 数据库相关概念在这一部分,先了解三个概念:数据库.数据库管理系统.SQL. 名称 全称 ...
- Blazor前后端框架Known-V1.2.6
V1.2.6 Known是基于C#和Blazor开发的前后端分离快速开发框架,开箱即用,跨平台,一处代码,多处运行. Gitee: https://gitee.com/known/Known Gith ...
- Linux中的进程页表
是什么 进程页表是用于管理进程虚拟地址空间和物理内存之间映射关系的数据结构.它记录了进程中每个虚拟页对应的物理页的信息. 什么作用 进程使用进程页表的方式是通过虚拟地址访问内存.当进程访问一个虚拟地址 ...
- PlayWright(二十二)- allure插件(一)
在上文中,我们介绍并使用了pytest-html插件,总之并不复杂,但是今天我们要讲一个比pytest-html插件强很多的插件allure报告,我们要掌握他并且灵活使用,之后的框架就不需要考虑其他的 ...
- vscode c++食用指南
准备 配置环境为机房的 win10. 首先你需要下载 vscode. 可以从官网下载:https://code.visualstudio.com/Download 配置编译c++ 下载完之后安装好,界 ...
- Nginx快速入门:简介、安装、配置
Nginx概述 与 Apache 软件类似,Nginx ("engine x")是一个开源的.支持高性能.高并发的web服务和代理服务软件.它是由俄罗斯人 Igor Sysoev ...
- Linux服务器的性能监控与分析
通过vmstat分析性能 如上图所示,我们在命令vmstat后面添加了两个参数,1表示间隔一秒获取一次,10表示总共获取10次 我们一列一列数据来看: r:代表目前实际运行的指令队列,很高表示CPU ...
- 7、Mybatis之特殊SQL
7.1 创建接口.映射文件和测试类 ++++++++++++++++++++++++++分割线++++++++++++++++++++++++++ 注意namespace属性值为对应接口的全限定类名 ...
- 零代码基础,一分钟教你快速搭建微信ChatGPT机器人!
本教程收集于:ChatGPT聊天机器人搭建全攻略汇总:精心整理 Github登录账号后,先Forck下仓库:https://github.com/zhayujie/chatgpt-on-wechat ...