nginx配置url中带问号的rewrite跳转】的更多相关文章

今天收到一个需求,要将一个带查询参数的url跳转到另外一个静态url,安装常规的rewrite规则,如: rewrite ^/a.html?id=67$ http://zt.epython.cn/20190320/b.html;  错误的示范   这样的跳转起不了作用,因为nginx会把后面的一整串都认为是URL,但是在浏览器上去,只会访问到a.html这个文件. 然后google了一下,发现问号在nginx中是有特殊作用的,那我们就需要使用其他的方法了.在查询nginx的参数的时候,发现了$q…
关于微信浏览不能URL传参,URL中的问号被删除. 尼玛难道没有人遇到过这个问题?看了微信支付SDK3.0的代码,看到urlencode 看到了几次.实际上 在微信浏览器下 header('location:xxxx.com?xx=xx');这样是不行的,把地址urlencode就行了…
1.解决IE浏览器url带中文报错 /* encodeURI()解决IE浏览器请求url中带中文报错的问题 */ URL = encodeURI("<%=basePath%>vehicles/goEditBind.do?did="+did+"&name="+name+"&license_number="+license_number);…
url重写是指通过配置conf文件,以让网站的url中达到某种状态时则定向/跳转到某个规则,比如常见的伪静态.301重定向.浏览器定向等 rewrite 语法 在配置文件的server块中写,如: server { rewrite 规则 定向路径 重写类型; } 规则:可以是字符串或者正则来表示想匹配的目标url 定向路径:表示匹配到规则后要定向的路径,如果规则里有正则,则可以使用$index来表示正则里的捕获分组 重写类型: last :相当于Apache里德(L)标记,表示完成rewrite…
由于项目需求,项目的路由设计如下 config.Routes.MapHttpRoute( name: "Get/Put Sku", routeTemplate: "apiSets/{apiSetName}", defaults: new { controller = "Sku" }, constraints: new { httpmethod = new HttpMethodConstraint(HttpMethod.Get, HttpMetho…
问题起因:      客户订购了一关键字为"e+h 变送器" , 在首页推荐广告中,会根据用户在search 搜索过的关键字进行一个匹配投放.技术实现是UED 通过JS 获取cookie 中的h_keys 内容,拼装到 http://xxxxx/advert/ctp_advert.htm?num=4&keyword= {keyword} . 这里取出来对应的cookie 信息为中文,最后通过一个ajax 发起一个GET请求. 所以针对最后的请求是:http://xxxxxx/a…
问题起因:      客户订购了一关键字为"e+h 变送器" , 在首页推荐广告中,会根据用户在search 搜索过的关键字进行一个匹配投放.技术实现是UED 通过JS 获取cookie 中的h_keys 内容,拼装到 http://xxxxx/advert/ctp_advert.htm?num=4&keyword= {keyword} . 这里取出来对应的cookie 信息为中文,最后通过一个ajax 发起一个GET请求. 所以针对最后的请求是:http://xxxxxx/a…
项目中遇到的 GBK 编码问题,记录如下. 将代码精简为: <!DOCTYPE HTML> <html> <meta charset="gb2312"> <a href='http://huaban.com/search/?q=美腿'> click it </a> </html> 打开网页中的链接,发现跳转去了莫名其妙的网页.我们看看打开页面的 url: http://huaban.com/search/?q=%C…
本文目前只针对url中一个参数的 function getQueryString(name) { var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i"); var r = window.location.search.substr(1).match(reg); if (r != null) return unescape(r[2]); return null;…
实现方法:一:获取URL带QUESTRING参数的JAVASCRIPT客户端解决方案,相当于asp的request.querystring,PHP的$_GET1.函数: <Script language="javascript">function GetRequest() { var url = location.search; //获取url中"?"符后的字串var theRequest = new Object();if (url.indexOf(&…
一.重定向 正则表达式匹配: * ~ 为区分大小写匹配 * ~* 为不区分大小写匹配 * !~和!~*分别为区分大小写不匹配及不区分大小写不匹配 文件及目录匹配: * -f和!-f用来判断是否存在文件 * -d和!-d用来判断是否存在目录 * -e和!-e用来判断是否存在文件或目录 * -x和!-x用来判断文件是否可执行 flag标记: * last 相当于Apache里的[L]标记,表示完成rewrite * break 终止匹配, 不再匹配后面的规则 * redirect 返回302临时重定…
符号含义: 正则表达式匹配: ~ 为区分大小写匹配 ~* 为不区分大小写匹配 !~和!~*分别为区分大小写不匹配及不区分大小写不匹配 文件及目录匹配: -f和!-f用来判断是否存在文件 -d和!-d用来判断是否存在目录 -e和!-e用来判断是否存在文件或目录 -x和!-x用来判断文件是否可执行 flag标记 last 相当于Apache里的[L]标记,表示完成rewrite:完成重写指令,之后搜索相应的URI或location. break 终止匹配, 不再匹配后面的规则:完成重写指令. red…
在实际项目中,由于https安全策略,我们无法直接跳转到我们想要跳转到的地址 例如 url:https://abc.dc.com/image?url=https://vpic.video.qq.com/1641213/p0685fxrwij.png 我们想要的效果直接访问以下地址: https://vpic.video.qq.com/1641213/p0685fxrwij.png 如果是在代码中,我们可以通过正则表达式,字符串截取,xpath等方式很容易获取以上地址. 但我这边想要达到的效果是:…
rewrite 规则 定向路径 重写类型; 举例: rewrite  (.*)/web/(.*)-(.*)-(.*).html$  $1/web/index.php?r=$2/$3/$4  last;   浏览器中输入http://test.com/web/api-test-index.html 会被nginx转化为http://test.com/web/index.php?r=api/test/index去请求服务器资源. rewrite 后面的规则 (.*)/web/(.*)-(.*)-(.…
使用情境:我想输入www.abc.com/a/1后,实际上是跳转到www.abc.com/index.php/a/1 配置Nginx.conf在你的虚拟主机下添加: location / {      if (!-e $request_filename){           rewrite ^/(.*)$ /index.php/$1 last;      } } 如果你的项目入口文件在一个子目录内,则: location /目录/ {      if (!-e $request_filenam…
在安装nginx时我们先创建用户useradd -s /sbin/nologin -M nginx 不然会报nginx: [emerg] getpwnam("nginx") failed,没有nginx.pid…
找到文件 include\taglib\tag.lib.php  大概87行 把 $row['link'] = $cfg_cmsurl."/tags.php?/".urlencode($row['keyword'])."/"; 改为 $row['link'] = $cfg_cmsurl."/tags.php/".urlencode($row['keyword'])."/";…
location ~* /(ask|hospital|wenda|regsearch|user|doctor) { return ; } error_page /.html;…
1.nginx中include的使用 在/usr/local/nginx/conf/nginx.conf中可以使用include去加载其他配置文件: 例如:include vhost/*.conf; 加载同目录下的   vhost/*.conf文件 2.配置虚拟域名访问 客户机需在hosts文件中添加: ip域名对应关系如:140.143.2.XX.129   image.test window中hosts位置:C:\Windows\System32\drivers\etc nginx中conf…
URL重写的基础介绍 把URI地址用作参数传递:URL REWRITE 最简单的是基于各种WEB服务器中的URL重写转向(Rewrite)模块的URL转换: 这样几乎可以不修改程序的实现将 news.asp?id=234 这样的链接映射成 news/234.html,从外面看上去和静态链接一样.Apache服务器上有一个模块(非缺省):mod_rewrite:URL REWRITE功能之强大足够写上一本书. 当我需要将将news.asp?id=234的映射成news/234.html时,只需设置…
做服务端开发的,工作中难免会遇到处理Nginx配置相关问题.在配置Nginx时,我一直本着“照葫芦画瓢”的原则,复制已有的配置代码,自己修修改改然后完成配置需求,当有人问起Nginx相关问题时,其实仍然一无所知.为此在工作之余,花了一周的时间阅读Nginx配置相关文章,整理成自己的学习笔记如下: nginx是什么? nginx如何配置? nginx中location部分url如何匹配? nginx中rewrite命令如何重写url? nginx中if判断如何使用? nginx变量如何使用? ng…
如果不想写到 ngnix.conf 中,那么可以在相同的目录下建立另外一个文件夹存放单独的文件,比如新建一个  proxy 的子目录,然后再在里面新建文件 prox.conf ,然后添加如下内容: server {                 resolver        8.8.8.8;                 access_log      off;                 listen  8088;                 location / {      …
背景信息: 被代理的服务器(10.90.7.2)上,nginx的配置内容 server { listen ; server_name localhost; default_type text/html; location /path1 { root html; index index.html; } location /path1/path2 { root html; index index.html; } } 待访问的页面路径信息如下: [root@localhost html]# pwd /…
文章原创于公众号:程序猿周先森.本平台不定时更新,喜欢我的文章,欢迎关注我的微信公众号. 上一篇文章对Nginx的Location配置进行了讲解,本篇主要对于Nginx中的Rewrite跳转进行讲解.因为目前很多工作前端开发都会选择使用Nginx作为反向代理服务器,但是平时业务需要难免碰到重写URL,Nginx的Rewrite跳转有什么使用场景呢? 公司更换域名需要访问旧域名时跳转到新域名 请求静态文件跳转到CDN 根据用户设备不同跳转到不同站点(pc端,移动端) 不得不说的是Apache服务器…
Nginx配置下载附件让浏览器提示用户是否保存   by:授客  QQ:1033553122   测试环境 nginx-1.10.0 问题描述: 前端页面,IE11浏览器下请求下载附件模板,针对xlsx格式文件,点击后会在浏览器中直接打开,并显示乱码. 解决方案: 修改Nginx配置,增加如下带背景色内容(添加http响应头) add_header Content-Disposition: "attachment; 或者如下 add_header Content-Disposition: &qu…
这几天准备用discuz搭建一个素食网站,一切就绪之后,访问discuz的门户时总是带着portal.php,可能是职业毛病,在url中总是带着,感觉太碍眼了,并且discuz就是搜索引擎收录一直抵制的一款产品,为了新站能更好的seo,决定把portal.php在url中去掉,操作方法如下: 一.在系统后台的导航设置中进行设置,将默认的首页设置为“不可用”,之后自定义个首页,链接中填写"/"…
如果URL中带空格,在浏览器中可以显示,但是如果访问比如 UIImage 获取图片的时候就会出现BAD URL. 解决: NSString* urlText = @"70.84.58.40/projects/igolf/TipThumb/GOLF 58B.jpg"; NSString* urlTextEscaped = [urlText stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];…
var url = document.URL; //获取当前页面的url var urlA = url.split('?');//以url中的问号进行分割; var goodscode = urlA[1]; //这个word就能得到“中国”这个文字 从上一个页面跳入新页面时,如何拿URL中的参数…
做本科生助教,老板让配置一个FTP传资料交作业,找了一台Windows服务器捣鼓,开始按网上教程自己配置特别麻烦,何西西说用Filezilla比较方便,就去Filezilla官网下载了Filezilla Server,本来以为会很轻松搞定,没想到还是碰到一堆坑,记录下来方便以后查阅. 服务器:Windows Web Server 2008 R2,64位 坑1:安装Filezilla Server报错 "could not load TLS network. Aborting start of a…
Nginx URL重写(rewrite)配置及信息详解1)if判断指令 语法为if(condition){…}     #对给定的条件condition进行判断.如果为真,大括号内的rewrite指令将被执行,if条件(conditon)可以是如下任何内容:   a:当表达式只是一个变量时,如果值为空或任何以0开头的字符串都会当做false,其他情况为true.   b: 直接比较变量和内容时,使用 = 或!=   c: 正则表达式匹配,*不区分大小写的匹配,!和!*反之. 注意:使用正则表达式…