这篇文章除location指令外还涉及if指令与rewrite指令配合使用。 贰 ---- 先来看下nginx location 示例配置文件。 server { #......这里涉及到匹配顺序问题,从服务器返回的结果可以知道 nginx选择了匹配字符串,这是因为使用了^~标识符字符串匹配后不再检查正则,也就是只使用字符串匹配结果。...使用“=”标记可以在URI和location之间定义精确的匹配,在精确匹配完成后并不进行额外的搜索,例如有请求“/”发生,则可以使用“location = /”来加速这个处理。...匹配示例 location = / { # 只匹配 / 查询....[ configuration C ] } location ~* \.
Document和Window对象都有这样一个链接到Location,分别通过document.location和window.location访问。...location.host: 包含了域名的一个DOMString,可能在该串最后带有一个:并跟上URL的端口号。 location.hostname: 包含URL域名的一个DOMString。...location.origin: 只读,包含页面来源的域名的标准形式DOMString。...location.ancestorOrigins: 只读,返回结构是静态DOMStringList,以相反的顺序包含与给定Location对象关联的文档的所有祖先浏览上下文的来源,可以根据location.ancestorOrigins...location.toString(): 返回一个DOMString,包含整个URL,它和读取kk的效果相同,但是用它是不能够修改location的值的。
location是个神奇的对象,既是window的对象也是document的对象。...console.log(window.location == document.location);//true 属性: host 返回服务器名称和端口号 hostname 返回不带端口号的服务器名称...href 返回当前加载页面的完整URL pathname 返回URL的目录和文件名 port 返回URL中指定的端口号 protocol 返回页面使用的协议 search 返回URL的查询字符串...如果参数为true,强制从服务器中重新加载 为kk; window.location 设置为一个URL值,也会以该值调用assign()方法。...以下三句话效果一样 window.location="http://www.baidu.com"; kk="http://www.baidu.com" location.assign("http:
但是location对象上面有好几个属性和方法对开发很有帮助。 属性:location.href 可读可写,设置或返回当前的URL地址。...属性:location.host 可读可写,设置或返回当前 URL 的主机名称和端口号。 属性:location.hostname 可读可写,设置或返回当前 URL 的主机名称。...属性:location.href 可读可写,设置或返回 URL 的锚部分(从 # 号开始的部分)。 属性:location.port 可读可写,设置或返回 URL 的端口号。...属性:location.pathname 可读可写,设置或返回 URL 的路径部分。也就是端口号之后,从/开始。 属性:location.protocol 可读可写,设置或返回 URL 的协议。...属性:location.search 可读可写,设置或返回 URL 的参数部分,从?开始,包含?。 方法:location.assign(url) 加载新的文档,其实就是跳转新的地址。
DOCTYPE html> 51-JavaScript-Location设置 刷新 强制刷新 // Location...: 代表浏览器地址栏的信息, 通过Location我们就能设置或者获取当前地址信息 let oBtn1 = document.querySelector("#btn1"); let oBtn2....com"; } // 重新加载界面 oBtn3.onclick = function(){ window.location.reload(); }...oBtn4.onclick = function(){ window.location.reload(true); }
"window.location.href"、"location.href"是本页面跳转. "parent.location.href" 是上一层页面跳转...."top.location.href" 是最外层的页面跳转....举例说明: 如果A,B,C,D都是html,D是C的iframe,C是B的iframe,B是A的iframe,如果D中js这样写 "window.location.href"、"location.href...":D页面跳转 "parent.location.href":C页面跳转 "top.location.href":A页面跳转 如果D页面中有form的话, : form提交后...= window.location.href) { window.top.location.reload(); } } script> </</span
Nginx location 配置语法 location [ = | ~ | ~* | ^~ ] uri { ... }location @name { ... } location 配置可以有两种配置方法...可以根据不同的 URI 使用不同的配置(location 中配置),来处理不同的请求。location 是有顺序的,会被第一个匹配的location 处理。...~”前缀表示正则location . 其他前缀(包括:“=”,“^~”和“@ ”)和无任何前缀的都属于普通location . 匹配规则 普通 location ”的匹配规则是“最大前缀....location ,再“考虑”匹配正则 location 。...总结:正则 location 匹配让步普通 location 的严格精确匹配结果;但覆盖普通 location 的最大前缀匹配结果.
这里两个location配置都匹配上了,第一个location匹配项为1,第二个location匹配项为2,由于nginx选用匹配项最多的location,所以响应内容"/test/1"。...为什么返回的不是"null"),这里三个都匹配上了,但是nginx选用的是正则匹配结果,这个我不知道是什么原因,如果有大佬知道原因,还请大佬帮忙解惑。...~ /test(.*)$ { alias /data$1; } } 请求localhost:2020/test/1.png,匹配成功,能够正常返回文件 proxy_pass 该参数用作反向代理...rewrite,执行完当前location后还是没有找到资源文件,因此返回状态码"404"。...index.html是否存在,如果存在,就使用这个文件路径来生成新的文件url,然后nginx内部重定向到这个文件资源;如果不存在,就判断/data/test/index.php文件是否存在,如果不存在就返回
location在nginx中起着重要作用,对nginx接收到的请求字符串进行处理,如地址定向、数据缓存、应答控制、代理转发等 location语法 location [=|~|~*|^~] uri {...= / { #精确匹配 / ,主机名后面不能带任何字符串 ... } location / { #普通匹配,因为所有的地址都以 / 开头,所以这条规则将匹配到所有请求 ......} location ~* \....找到就停止继续匹配,执行此location (2)验证各条普通匹配规则,是否有 ^~ 开头匹配成功的,有,停止继续匹配,执行此location,否,记下匹配度最高的那条 (3)按顺序验证各条正则匹配规则...,有匹配的,停止继续匹配,执行此location,否则执行普通匹配规则中匹配度最高的那条 ?
window对象给我们提供了一个location属性用于获取或设置窗体的URL,并且可以用于解析URL,因为这个属性返回的是一个对象,所以我们将这个属性也称为location对象。...name=zeyi&age=18#link 组成 说明 protocol 通信协议 常用的http,ftp,maito等 host 主机(域名)www.yuezeyi.com port 端口号可选,省略时使用方案的默认端口...对象的属性 location对象属性 返回值 location.href 获取或者设置整个URL location.host 返回主机(域名) location.port 返回端口号,如果未写返回空字符串...location.pathname 返回路径 location.search 返回参数 location.hash 返回片段 #后面内容 常见于链接锚点 案例:跳转页面 <!...对象的方法 location对象方法 返回值 location.assign() 跟href一样,可以跳转页面(也称为重定向页面) location.replace() 替换当前页面,因为不记录历史,所以不能后退页面
Location 对象包含有关当前 URL 的信息。 可通过 window.location 属性来访问。 其包含如下的属性 hash 哈希值。设置或返回从井号 (#) 开始到 URL结束的值。...hostname 设置或返回当前 URL 的主机名。 host 设置或返回主机名和当前 URL 的端口号。 href 设置或返回完整的 URL。...pathname 设置或返回当前 URL 的路径部分。 port 设置或返回当前 URL 的端口号。若port的值为空字符串,其实,该网站监听的是默认的80端口。...当改变location中的除了hash之外的属性的值,均会导致页面跳转。 例如,有这样一个URL http://127.0.0.1:3000/views/index.html?...和使用location.href=URL是一样的。会产生历史记录。
这个规则大体的思路是 先精确匹配,没有则查找带有 ^~的前缀匹配,没有则进行正则匹配,最后才返回前缀匹配的结果(如果有的话) 如果上述规则不好理解,可以看下面的伪代码(非常重要) function match...:8080/document 返回 HTTP/1.1 701, server { server_name website.com; location /doc { return...702; } location /docu { return 701; } } 复制代码 curl -I website.com:8080/document 依然返回...HTTP/1.1 701 前缀匹配下,返回最长匹配的 location,与 location 所在位置顺序无关 案例 5 server { listen 8080; server_name...location ~ ^/doc[a-z]+ { return 701; } } 复制代码 curl -I website.com:8080/document 返回 HTTP/1.1
一些例子: 一些实例: location.hostname 返回 web 主机的域名 location.pathname 返回当前页面的路径和文件名 location.port 返回 web 主机的端口...(80 或 443) location.protocol 返回所使用的 web 协议(http: 或 https:) ---- Window Location Href location.href 属性返回当前页面的...实例 返回(当前页面的)整个 URL: document.write(location.href); 以上代码输出为: https://www.runoob.com.../js/js-window-location.html ---- Window Location Pathname location.pathname 属性返回 URL 的路径名。...实例 返回当前 URL 的路径名: document.write(location.pathname); 以上代码输出为: /js/js-window-location.html
实例: 返回一个 URL 的主要部分。...假设当前的 URL 是 http://www.runoob.com/test.htm#PART2 document.write(location.hash); 以上实例输出结果: #part2 发布者:
有时候我们调试location指令时希望location指令能够直接输出文本,这样能够方便我们进行调试。...这时我们可以使用echo模块实现,但是大多数情况我们没有安装这个模块,那么我们还可以使用另一个方法来实现这个想法 直接返回文本 location / { default-type text/plain...; return 502 "this is a test message"; } html标签格式 location / { default-type text/html;...return 502 "this is a test message"; } 返回json文本 location / { default_type application
综:window.location.href表示重定向,后面跟着的是完整的url地址,与其相似的还有window.location.hash, 下面来比较window.location.href和window.locaiton.hash...(1)window.location.href 得到和使用的是完整的url,比如window.location.href=”www.baidu.com”表示的是重新定向,...也可以通过window.location.href得到a标签的完整的href,比如如果使用href,那 么可以得到完整的链接(url) (2)window.location.hash...相比如href,通过window.location.hash并不会跳转到新的链接,只会在当前链接里面 改变锚链。...并且如果有通过window.location.hash得不到完整的链接(URL),仅仅得到#book.
今天讲下location的用法,部分内容是直接从网络上摘取的,这边做了一个整理,为了便于理解和学习,我这边做了一些例子。...例子,有如下匹配规则: location / { echo "/"; //需要安装echo模块才行,这边大家可以改成各自的规则 } location = / { echo "=/"; } location...= /nginx { echo "=/nginx"; } location ~ \....(gif|jpg|png|js|css)$ { echo "small-gif/jpg/png"; } location ~* \.png$ { echo "all-png"; } location...$ { expires 7d; access_log off; } location ~* .*\.
这里有两个例外:如果找到了精确匹配的 location,也就是使用了 = 修饰符的location,结束查找,使用它的配置。...查找使用正则表达式定义的 location,如果匹配到 location,则立即停止查找,使用它定义的配置。...配置文件: location = / { [ configuration A ] } location / { [ configuration B ] } location /documents...location @ 的用法 @ 用来定义一个命名 location。主要用于内部重定向,不能用来处理正常的请求。...命名 location 中不能再嵌套其它的命名 location。
location ^~ /uri ^~ 开头对URL路径进行前缀匹配,并且在正则之前。 location ~ pattern ~开头表示区分大小写的正则匹配。...location ~* pattern ~*开头表示不区分大小写的正则匹配。 location /uri 不带任何修饰符,也表示前缀匹配,但是在正则匹配之后。...location / 通用匹配,任何未匹配到其它location的请求都会匹配到,相当于switch中的default。...=/ 精确匹配 location / 匹配所有请求 location /xxx/ 匹配/xxx/的请求 location ~ 匹配后面正则表达式,区分大小写 location ~* 匹配后面正则表达式...,不区分大小写 location ^~ 匹配普通字符并终止 在location /里面 nginx去除index.php重写 rewrite '^/(.*?)
2017-05-08 05:52:53 window.location 对象用于获得当前页面的地址 (URL),并把浏览器重定向到新的页面。...window.location 对象在编写时可不使用 window 这个前缀。...location中包含着ulr的一些其他信息,通过不同的属性来获取不同的结果,如下: location.hostname 返回 web 主机的域名 location.pathname 返回当前页面的路径和文件名...location.port 返回 web 主机的端口 (80 或 443) location.protocol 返回所使用的 web 协议(http:// 或 https://) location.href...返回完整的url地址 location.hash 设置或获取 href 属性中在井号“#”后面的分段 location.search 设置或获取 href 属性中跟在问号后面的部分
领取专属 10元无门槛券
手把手带您无忧上云