nginx rewrite 实现URL跳转的方法
最近工作中常常要改nginx配置,学习了nginx中rewrite的用法
URL跳转
这里说的URL跳转就是用户在访问一个URL时将其跳转到另一个URL上。
常见的应用场景是让多个域名跳转到同一个URL上,(例如让旧域名跳转到新域名上)
将静态文件请求跳转到cdn上等
根据用户设备跳转到不同站点(pc版,wap版)等。
URL跳转可以通过js在页面上设置的window.location实现
也可以通过php设置header来实现
当然也可以用nginx 的 rewrite功能实现
nginx rewrite模块
rewrite 是 nginx的静态重写模块
基本用法是 rewrite patten replace flag
patten是正则表达式,与patten匹配的URL会被改写为replace,flag可选
例如将旧域名跳转到新域名上
server { listen 80; server_name www.old.com; rewrite ".*" http://www.new.com; }
跳转到新域名上时保留路径
server { listen 80; server_name www.old.com; rewrite "^/(.*)$" http://www.new.com/$1; } rewrite与location配合实现图片文件跳转到cdn location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ { expires 30d; rewrite "^/uploadfile\/(.*)$" http://static.XXX.com/uploadfile/$1; }
rewrite 后面可以加flag,flag标记有:
last 相当于Apache里的[L]标记,表示完成rewrite
break 终止匹配, 不再匹配后面的规则
redirect 返回302临时重定向 地址栏会显示跳转后的地址
permanent 返回301永久重定向 地址栏会显示跳转后的地址
以上这篇nginx rewrite 实现URL跳转的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
详解nginx rewrite和根据url参数location
最近项目中涉及到旧老项目迁移,需要在nginx上做些配置,所以简单学习了下,好记性不如烂笔头,先记下来. rewrite 首先查看下nginx是否支持rewrite: ./nginx -V 不支持说明安装nginx时候缺少pcre,需要重新安装nginx: #安装pcre wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.34.tar.gz tar -zxvf pcre-8.34.tar.gz cd pcre-8.
-
详解nginx配置location总结及rewrite规则写法
location正则写法 一个示例: location = / { # 精确匹配 / ,主机名后面不能带任何字符串 [ configuration A ] } location / { # 因为所有的地址都以 / 开头,所以这条规则将匹配到所有请求 # 但是正则和最长字符串会优先匹配 [ configuration B ] } location /documents/ { # 匹配任何以 /documents/ 开头的地址,匹配符合以后,还要继续往下搜索 # 只有后面的正则表达式没有匹配到时,这
-
详解常用的nginx rewrite重写规则
本文提供一些常用的rewrite重写规则,用来美化网页的链接.规则里面的$1$2你不知道是怎么来的话,只要记住,第一个()里面的是$1,第二个()里面的是$2. 请求的URL是给人看的,重写后的URL是给电脑看的. 执行搜索 这个规则的目的是为了执行搜索,搜索URL中包含的关键字. 请求的URL //hqidi.com/search/some-search-keywords 重写后URL //hqidi.com/search.php?p=some-search-keywords 重写规则
-
Nginx服务器下使用rewrite重写url以实现伪静态的示例
经过网上查阅和测试,发现Nginx的Rewrite规则和Apache的Rewite规则差别不是很大,几乎可以直接使用.比如在Apache中这样写规则 rewrite ^/([0-9]{5}).html$ /viewthread.php?tid=$1 last; 而在Nginx中写成这样写是无法启动的,解决的办法是加上两个双引号: rewrite "^/([0-9]{5}).html$" /viewthread.php?tid=$1 last; 同时将RewriteRule为Rewrit
-
nginx rewrite 实现URL跳转的方法
最近工作中常常要改nginx配置,学习了nginx中rewrite的用法 URL跳转 这里说的URL跳转就是用户在访问一个URL时将其跳转到另一个URL上. 常见的应用场景是让多个域名跳转到同一个URL上,(例如让旧域名跳转到新域名上) 将静态文件请求跳转到cdn上等 根据用户设备跳转到不同站点(pc版,wap版)等. URL跳转可以通过js在页面上设置的window.location实现 也可以通过php设置header来实现 当然也可以用nginx 的 rewrite功能实现 nginx r
-
nginx rewrite重写规则与防盗链配置方法教程详解
导读:nginx rewrite重写规则与防盗链配置方法,rewrite规则格式中flag标记的几种形式,盗链时返回403错误,允许的域名直接跟在第二行的域名后面. nginx rewrite重写规则与防盗链配置方法如下所示: nginx rewite 规则,官方文档:http://wiki.nginx.org/NginxHttpRewriteModule nginx rewrite规则格式:rewrite regex replacement flag flag标记有四种格式: last – 相
-
网站页面自动跳转实现方法PHP、JSP(下)
本文讨论网页自动跳转的几种实现方法.方法一:使用meta标签meta标签是html不可或缺的标签之一,它负责提供文档的元信息,其参数主要有: ① http-equiv: 与 文档中数据相关的HTTP文件首部 ② content: 与命名HTTP首部相关的数据 ③ name: 文档描述 ④ url: 与元信息相联系的URL当我们定义属性http-equiv为refresh,打开此Web页时系统将根据content规定的值在一定时间内跳转到相应页面,content="秒数;url=网址"就
-
Nginx Rewrite使用场景及配置方法解析
Nginx Rewrite使用场景 1.URL地址跳转,例如用户访问pm.com将其跳转到baidu.com或者当用户通过http的方式访问时,将其跳转至https的方式访问. 2.URL伪静态,将动态页面显示为静态页面方式的一种技术,减少动态URL地址对外暴露过多的参数,提升更高的安全性. 3.搜索引擎SEO优化依赖于URL路径,以便支持搜索引擎录入 4.可以调整用户浏览的URL,看起来更规范,合乎开发及产品人员的需求. 配置语法 rewrite regex replacement [flag
-
Nginx隐藏式跳转(浏览器URL跳转后保持不变)
Nginx的隐藏式跳转可以实现将请求跳转到另一个网站的页面,并且浏览器中URL保持不变.Nginx配置中需要使用rewrite规则.下面提供两个示例来说明这种跳转需求的配置: 一.Nginx隐藏式跳转配置示例1 将请求路径https://jb51.net/data/test跳转到https://jb51.com/data/test/test.html页面. server { listen 443; server_name jb51.net; access_log /data/nginx/logs
-
利用Nginx实现URL重定向的简单方法
目录 1. 概述 2. 使用 Nginx 实现 URL 的重定向 2.1 使用场景 2.2 单纯的重定向 2.3 依据原 URL 重定向 补充:Nginx根据url参数重定向 1.判断url路径 2. 判断url参数 总结 1. 概述 老话说的好:取乎上,得其中:取乎中,得其下.因此我们不妨把目标定的高一些,去努力,才能得到更好回报. 言归正传,今天我们来聊聊 使用 Nginx 实现 URL 的重定向. 2. 使用 Nginx 实现 URL 的重定向 2.1 使用场景 我们日常分享一个网站地址时
-
Express URL跳转(重定向)的实现方法
Express是一个基于Node.js实现的Web框架,其响应HTTP请求的response对象中有两个用于URL跳转方法res.location()和res.redirect(),使用它们可以实现URL的301或302重定向. res.location(path) res.location(path) 下面列举了几种,设置http响应头Location的方法 res.location('/foo/bar'); res.location('http://example.com'); res.lo
-
Nginx Rewrite使用场景及代码案例详解
Nginx Rewrite使用场景 1.URL地址跳转,例如用户访问pm.com将其跳转到baidu.com或者当用户通过http的方式访问时,将其跳转至https的方式访问. 2.URL伪静态,将动态页面显示为静态页面方式的一种技术,减少动态URL地址对外暴露过多的参数,提升更高的安全性. 3.搜索引擎SEO优化依赖于URL路径,以便支持搜索引擎录入 4.可以调整用户浏览的URL,看起来更规范,合乎开发及产品人员的需求. 配置语法 rewrite regex replacement [flag
-
nginx Rewrite重写地址的实现
目录 一.Nginx正则表达式 二.location 2.1.location大致可以分为三类 2.2. location 常用的匹配规则 2.3. location优先级 2.4.location示例说明 2.5.location 匹配 2.6.实际网站使用中,至少有三个匹配规则定义 三.rewrite 3.1.rewrite跳转实现 3.2.rewrite执行顺序 3.3.语法格式 3.4.flag标记说明 四.rewrite 示例 4.1.基于域名的跳转 4.2.基于客户端 IP 访问跳转
随机推荐
- 用Python编写简单的微博爬虫
- PostgreSQL中关闭死锁进程的方法
- Python中死锁的形成示例及死锁情况的防止
- 使用Python的Twisted框架编写非阻塞程序的代码示例
- setTimeout函数的神奇使用
- android错误 aapt.exe已停止工作的解决方法
- php读取文件内容到数组的方法
- 详解ECMAScript6入门--Class对象
- python从sqlite读取并显示数据的方法
- ASP隐藏真实文件的下载功能实现代码
- Vue computed计算属性的使用方法
- safari,opera嵌入iframe页面cookie读取问题解决方法
- JS定时关闭窗口的实例
- js实现类似MSN提示的页面效果代码分享
- 链接库动态链接库详细介绍
- SQL SERVER 利用存储过程查看角色和用户信息的写法
- JavaScript的类型转换(字符转数字 数字转字符)
- Win2008下搭建php开发环境(IIS FastCGI版)
- Android实现短信验证码自动拦截读取功能
- php&java(三)