Nginx 根据URL带的参数转发的实现_nginx

来源:脚本之家  责任编辑:小易  

确保安装 nginx 时 ./configure 有加2113入5261 --with-http_perl_module 这一项,然后在4102 nginx.conf 配置文件的http{}内、server{}前面加入:(加入内容在结构上与 server{} 并列1653)perl_set $urldecode 'sub {my $inf = shift;my $url = $inf-args;my $inx = index($url, "redirect=",);my $redirect = "";if ($inx < 0) {$redirect = $url;}else {my $red = substr($url, $inx+9,);my $len = index($red, "\x26",);if ($len < 0) {$redirect = substr($red, 0,);}else{$redirect = substr($red, 0, $len);}}$redirect =~ s/\%([A-Fa-f0-9]{2})/pack("C", hex($1))/seg;return $redirect;}';在 server 的 location 内加入:(加入内容在 location 之内,location 在 server 之内)if ($arg_redirect) {最后,重新启动 nginxPS: 以上的$urldecode是变量名,可以更改本回答被提问者采纳www.zgxue.com防采集请勿采集本网。

使用场景:

需要根据截取URL动态配置跳转路径,常见于访问内网不固定ip地址的文件图片,

为什么不用php或者其他解析服务器来判断,要用web服务器,费力不讨好,没有服务解析只有html更简单,直接访问就好。 可以,去看下nginx重写,要自己写重写规则,根据url不同访问文件不同返回数据不同, 关键字“url重写” “伪静态”

请求地址:http://11.19.1.212:82/bimg4/32.52.62.42:222/DownLoadFile?filename=LOC:12/data/20180208/15/2e0ae54dfd752210083404deed15269c_222403

这个你学好正则表达式,是可以写的。 假定格式是: 至少是二个数字为前半段,后面是.html rewrite ^/([0-9])([0-9]+)\.html$ /$2/$1$2\.html last;

实际需要访问的内网地址:http://32.52.62.42:222/DownLoadFile?filename=LOC:12/data/20180208/15/2e0ae54dfd752210083404deed15269c_222403

if ( $query_string ~ "view=string" ) { rewrite ^/default.html hbz/? redirect; }

nginx配置文件

服务器配置在192.168.253.119,在http下添加个server server{ listen 8080;#监听端口,根据你的需要进行修改(建议改为80) resolver114.114.114.114;#dns服务器,你这个不加应该也行,因为只用IP的 access_log logs/proxy.access.log proxy buffer

今天项目中有一个手机站点需要用*.m.domain.com的三级域名访问。 如手机站点的访问网址为m.domain.com,手机下面的会员实际访问地址为index.php?username=$username,需要定向为username.m.domain.com域名访问,直接看详情 location / { if ($ho

server { listen 83; server_name localhost; index index.html index.htm; root D: /workspace-xxxx/xxx_Web; error_page 500 502 503 504 / 50x.html; location = /50x.html { root html; } location ^~ /xxx/ { proxy_pass http: //192.168.60.36:8090/xxxx/; proxy_redirect default; proxy_set_header Host $host; proxy_set_header X - Real - IP $remote_addr; proxy_set_header X - Forwarded - Host $host; proxy_set_header X - Forwarded - Server $host; proxy_set_header X - Forwarded - For $proxy_add_x_forwarded_for; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "Upgrade"; }

# 此处为截取请求地址中bimg4之后的路径,并赋给转发地址 location ^ ~ / bimg4 / { if ($request_uri~ / bimg4 / (. * )) { set $bucketid $1; } proxy_pass http: //$bucketid; }}

到此这篇关于Nginx 根据URL带的参数转发的实现的文章就介绍到这了,更多相关Nginx URL带参数转发内容请搜索真格学网以前的文章或继续浏览下面的相关文章希望大家以后多多支持真格学网! 您可能感兴趣的文章:Nginx根据url中的path动态转发到upstream的实现nginx实现根据URL转发请求的实战经历Nginx服务器作反向代理实现内部局域网的url转发配置

Nginx的Rewrite规则和Apache的Rewite规则差别不是2113很大,几乎可以直5261接使用。比如在Apache中这样写规4102则rewrite ^/([0-9]{5}).html$ /viewthread而在Nginx中写成1653这样写是无法启动的,解决的办法是加上两个双引号:rewrite "^/([0-9]{5}).html$" /viewthread.php?tid=$1 last;同时将RewriteRule为Rewrite,基本就实现了Nginx的Rewrite规则到Apache的Rewite规则的转换。Rewrite的Flagslast - 基本上都用这个Flag。break - 中止Rewirte,不在继续匹配redirect - 返回临时重定向的HTTP状态302permanent - 返回永久重定向的HTTP状态301WordPress的Rewrite其实在Nginx下配置WordPress的Rewrite还是比较简单的,在location /{..................}里面加入if (!-f $request_filename){rewrite (.*) /index.php;}即可实现。详细可以去后盾人平台看看视频教学的,很详细高质量也很清楚的内容来自www.zgxue.com请勿采集。


  • 本文相关:
  • nginx 简单的负载均衡配置示例
  • linux下给nginx安装waf模块
  • 在nginx服务器中配置mod_proxy反向代理的方法
  • nginx部署.net core站点的方法
  • 在nginx服务器下配置startssl和ssl的教程
  • nginx 防止被域名恶意解析的办法
  • nginx cookie有效期讨论小结
  • nginx负载均衡(架构之路)详解
  • nginx配置pc站手机站分离实现重定向
  • linux服务器下nginx的安全配置详解
  • nginx 怎么通过传递的参数 进行url重写
  • nginx如何根据url参数做跳转
  • nginx能不能把一个请求过来的get参数接受,然后作...
  • nginx配置url动态的参数如何配置?
  • 能不能通过 nginx 判断 url 参数,返回不同页面
  • 对nginx进行url参数获取并重写时,可否对数字进行数...
  • 如何在nginx做带有参数的url跳转
  • 想用nginx配置一个最简单的代理转发的功能,请问怎...
  • nginx服务器中若php项目的url带参数则报错
  • nginx负载均衡下URL参数重写?
  • 网站首页网页制作脚本下载服务器操作系统网站运营平面设计媒体动画电脑基础硬件教程网络安全星外虚拟主机华众虚拟主机linuxwin服务器ftp服务器dns服务器tomcat nginxzabbix云和虚拟化服务器其它首页服务器nginx根据url中的path动态转发到upstream的实现nginx实现根据url转发请求的实战经历nginx服务器作反向代理实现内部局域网的url转发配置nginx 简单的负载均衡配置示例linux下给nginx安装waf模块在nginx服务器中配置mod_proxy反向代理的方法nginx部署.net core站点的方法在nginx服务器下配置startssl和ssl的教程nginx 防止被域名恶意解析的办法nginx cookie有效期讨论小结nginx负载均衡(架构之路)详解nginx配置pc站手机站分离实现重定向linux服务器下nginx的安全配置详解nginx提示:500 internal servernginx 多站点配置方法集合权限问题导致nginx 403 forbiddenginx fastcgi错误primary scripnginx服务器的反向代理proxy_pasnginx 403 forbidden的解决办法nginx伪静态配置和常用rewrite伪详解nginx服务器中配置超时时间的nginx下301重定向域名的方法小结windows下nginx+php5的安装与配置nginx限制ip并发数与下载速度的方法nginx中配置用户服务器访问认证的方法示例利用nginx+lua+redis实现反向代理方法教程详解nginx如何统计网站的pv、uv、独立ipwindows安装nginx部署步骤图解(反向代理与一个等号引发的血案(谈nginx正确的404配nginx一个域名访问多个项目的方法实例nginx的fastdfs分布式存储模块测试方法nginx实现动静分离的示例代码利用nginx访问日志如何记录mysql中的用户
    免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.zgxue.com All Rights Reserved