利用Nginx的map指令实现页面跳转
前言
本文主要介绍了利用Nginx中map
指令实现页面跳转的方法,有需要的下面来一起学习学习。
实现方法
在 nginx.conf 的 http
域中添加 map
指令规则,这里包含一个 URL 规则映射文件:
# 设置301跳转 map $request_uri $new { include /etc/nginx/redirect.map; }
map
指令支持引入一个映射文件的方式,这里 redirect.map 文件内容格式如下:
~^/page/mordern-php$ /page/modern-php;
目前只添加了一行作为测试,前面可以是正则表达式,后面是要跳转到的新的 URL ,每行以分号结束。
由于网站开启了 HTTPS,在监听 443 端口的 server
块中,location
语句前添加规则如下:
if ($new) { rewrite ^ https://www.tanteng.me$new redirect; }
这个语句表示如果 URL 匹配到 redirect.map 里的规则,则跳转到新的 URL 规则。
重启 nginx 服务,就可以看到效果了。
总结
好了,以上就是利用Nginx的map指令实现页面跳转的全部内容了,这个功能对大家来说还是相对比较实用的,希望本文对有需要的人能有所帮助,如果有疑问大家可以留言交流。
相关推荐
-
nginx url自动加斜杠及301重定向的问题
nginx url自动加斜杠问题及301重定向,URL指向一个目录并且在最后没有包含斜杠,会301重定向跳转,添加server_name或修改访问重定向. nginx url自动加斜杠问题及301重定向 内部服务器使用nginx,做网站测试之用.不同域名使用端口号区分,如www用默认的80端口,其它域名用81,82... 有时直接在地址栏敲网址,会发现跳转到localhost.localdomain的情况. 比如858端口下有个hx目录,这样正常访问:http://192.168.1.158:8
-
Nginx重定向的配置实例
在/usr/local/nginx/conf/nginx.conf中: server { ... ##begin add by guozhenbin 20100727 location /b2c/ { if (!-e $request_filename) { rewrite ^/b2c/(.*)$ /b2c/index.php?$1 last; } } ##end add by guozhenbin 20100727 ... } /usr/local/nginx/sbin/nginx -s re
-
nginx中域名、目录的301重定向配置示例
301重定向不陌生, 有时候有需求把某目录整个重定向到一个二级域名,或者不带www的顶级域名请求全部重定向到带www的二级域名.如果是Apache,需要配置.htaccess,nginx不支持,需要在配置文件里面使用rewrite指令来实现. 顶级域名重定向到www 复制代码 代码如下: server { server_name jb51.net; rewrite ^/(.*)$ http://www.jb51.net/$1 permanent; } 如上配置,所以jb51.net的请求都
-
Nginx服务器中的重定向配置参考指南
rewrite命令 nginx的rewrite相当于apache的rewriterule(大多数情况下可以把原有apache的rewrite规则加上引号就可以直接使用),它可以用在server,location 和IF条件判断块中,命令格式如下: rewrite 正则表达式 替换目标 flag标记 flag标记可以用以下几种格式: last – 基本上都用这个Flag. break – 中止Rewirte,不在继续匹配 redirect – 返回临时重定向的HTTP状态302 permanent
-
Nginx下WordPress链接(url伪静态)301永久重定向实现方法
问题: 在几个blog程序中折腾的结果~ 导致url连续二次变化.这是第三次了. nginx 通过rewrite 使用 "permanent;"参数 成301永久url重定向. 以往的url结构 http://www.jb51.net/post/199/ 现在需要的url结构 http://www.jb51.net/archives/199.html 过程: 学习nginx的配置规则,学习正则表达式(我也没接触过,学呗.) nginx的中文维科:http://wiki.nginx.or
-
nginx将泛解析的匹配域名绑定到子目录配置方法
网站的目录结构为: # tree /home/wwwroot/exehack.net /home/wwwroot/exehack.net ├── bbs │ └── index.html └── www └── index.html 2 directories, 2 files /home/wwwroot/exehack.net为nginx的安装目录下默认的存放源代码的路径. bbs为论坛程序源代码路径:www为主页程序源代码路径:把相应程序放入上面的路径通过:http://www.
-
详解Nginx中的重定向功能
nginx 各参数翻译,作用 $arg_PARAMETER #这个变量包含GET请求中,如果有变量PARAMETER时的值. $args #这个变量等于请求行中(GET请求)的参数,例如foo=123&bar=blahblah; $binary_remote_addr #二进制的客户地址. $body_bytes_sent #响应时送出的body字节数数量.即使连接中断,这个数据也是精确的. $content_length #请求头中的Content-length字段. $content_typ
-
Nginx下301重定向域名的方法小结
linux中nginx 301重定向跳转方法总结,有需要的朋友可参考一下. 第一种情况:访问aaaaaaa站定向到bbbbbbbbbbb站 复制代码 代码如下: server { server_naaaaaaame www.aaaaaaa.com ; rewrite ^(.*) http://www.bbbbbbbbbbb.com$1 permaaaaaaanent; } 第二种情况:不是访问aaaaaaa站的全部重定向到指定页面 复制代码 代码如下: server { server_naaaa
-
ngin配置301重定向设置方法和nginx子目录301重定向
nginx版本为1.1.19. 若域名由a.com转移到了b.com,并对两个域名有所有权,可以: 复制代码 代码如下: server{ server_name a.com; return 301 $scheme://b.com$request_uri;} 重启服务器,然后看一下成功与否: 复制代码 代码如下: curl -I a.com nginx子目录301重定向设置方法 如我想把www.b.com/bfiles/download/转向到dx1.b.com:81/bfiles/down
-
Nginx下配置301重定向的正确方法例子
之前给nginx做301重定向的时候经常会这样写: 复制代码 代码如下: server { listen 80; server_name www.jb51.net jb51.net; if ($http_host = www.jb51.net) { rewrite (.*) http://jb51.net$1; } ... } 实际标准的写法应该是 复制代码 代码如下: server { listen
随机推荐
- Vuejs第九篇之组件作用域及props数据传递实例详解
- JavaScript实现点击按钮切换网页背景色的方法
- JavaScript判断是否为数组的3种方法及效率比较
- PHP最常用的2种设计模式工厂模式和单例模式介绍
- Windows中安装使用Virtualenv来创建独立Python环境
- ASP 提示非法赋值的解决方法
- 木马最喜欢隐藏在系统的哪些地方
- SQL2008定时任务作业创建教程
- jquery获取自定义属性(attr和prop)实例介绍
- PHP运行时强制显示出错信息的代码
- C# 调用Delphi dll 实例代码
- jquery与ajax获取特殊字符实例详解
- Android EdText编辑框禁止输入表情符号(使用正则表达式)
- C#实现将数组内元素打乱顺序的方法
- 基于vue监听滚动事件实现锚点链接平滑滚动的方法
- SpringBoot开发案例 分布式集群共享Session详解
- 在小程序中推送模板消息的实现方法
- 使用python实现滑动验证码功能
- 详解java 三种调用机制(同步、回调、异步)
- nodejs图片处理工具gm用法小结