利用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下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重定向的正确方法例子
之前给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
-
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中域名、目录的301重定向配置示例
301重定向不陌生, 有时候有需求把某目录整个重定向到一个二级域名,或者不带www的顶级域名请求全部重定向到带www的二级域名.如果是Apache,需要配置.htaccess,nginx不支持,需要在配置文件里面使用rewrite指令来实现. 顶级域名重定向到www 复制代码 代码如下: server { server_name jb51.net; rewrite ^/(.*)$ http://www.jb51.net/$1 permanent; } 如上配置,所以jb51.net的请求都
-
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中的重定向功能
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服务器中的重定向配置参考指南
rewrite命令 nginx的rewrite相当于apache的rewriterule(大多数情况下可以把原有apache的rewrite规则加上引号就可以直接使用),它可以用在server,location 和IF条件判断块中,命令格式如下: rewrite 正则表达式 替换目标 flag标记 flag标记可以用以下几种格式: last – 基本上都用这个Flag. break – 中止Rewirte,不在继续匹配 redirect – 返回临时重定向的HTTP状态302 permanent
-
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.
-
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
随机推荐
- SQL Server自动更新统计信息的基本算法
- 使用Chrome浏览器调试AngularJS应用的方法
- 六十、Windows NT4.0网络中漫游用户配置文件的建立
- 建议的服务器分区办法
- 两种JAVA实现短网址服务算法
- ASP.NET(C#)实现一次性动态上传多张图片的代码(多个文件)
- Yii2中添加全局函数的方法分析
- 详解PHP防止盗链防止迅雷下载的方法
- TSYS中生成静态页时溢出: 'CInt'
- WinForm实现页面按钮定时隐藏功能
- typecho插件编写教程(二):写一个新插件
- Python使用Flask框架同时上传多个文件的方法
- 无间断滚动的新闻文章列表,兼容IE、Firefox和Opera,符合W3C标准。可作Marquee
- 用计算列实现移动加权平均算法
- 原生javascript实现隔行换色
- linux C语言开发管道通信实例详解
- JS+Canvas 实现下雨下雪效果
- Android实现多次闪退清除数据
- PHP模板引擎Smarty内建函数详解
- PHP实现数据库的增删查改功能及完整代码