利用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中的重定向功能
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下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中域名、目录的301重定向配置示例
301重定向不陌生, 有时候有需求把某目录整个重定向到一个二级域名,或者不带www的顶级域名请求全部重定向到带www的二级域名.如果是Apache,需要配置.htaccess,nginx不支持,需要在配置文件里面使用rewrite指令来实现. 顶级域名重定向到www 复制代码 代码如下: server { server_name jb51.net; rewrite ^/(.*)$ http://www.jb51.net/$1 permanent; } 如上配置,所以jb51.net的请求都
-
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 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重定向的正确方法例子
之前给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
-
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服务器中的重定向配置参考指南
rewrite命令 nginx的rewrite相当于apache的rewriterule(大多数情况下可以把原有apache的rewrite规则加上引号就可以直接使用),它可以用在server,location 和IF条件判断块中,命令格式如下: rewrite 正则表达式 替换目标 flag标记 flag标记可以用以下几种格式: last – 基本上都用这个Flag. break – 中止Rewirte,不在继续匹配 redirect – 返回临时重定向的HTTP状态302 permanent
随机推荐
- asp 由动态网页转变为静态网页的实现代码
- sqlServer 数据库语法大全
- 浅谈redis采用不同内存分配器tcmalloc和jemalloc
- angular ngClick阻止冒泡使用默认行为的方法
- 超常用的PHP正则表达式收集整理
- 使用脚本实现故障时自动重启Apache
- Dockerfile 指令 ADD 和 COPY介绍
- Oracle EXP和IMP用法和介绍
- ASP.NET读取XML文件4种方法分析
- php三元运算符知识汇总
- C数据结构中串简单实例
- MySQL中show命令方法得到表列及整个库的详细信息(精品珍藏)
- javascript 处理null及null值示例
- php中创建和调用webservice接口示例
- android使用Messenger绑定Service的多种实现方法
- JavaScript使用FileReader实现图片上传预览效果
- SQL Server中的SQL语句优化与效率问题
- sql脚本查询数据库表,数据,结构,约束等操作的方法
- JavaScript中数组的合并以及排序实现示例
- ServletContext中常用方法介绍