nginx地址重定向的方法

1、假设要把webroot/static/index.html访问重定向到static/index.html

例如当我们通过浏览器访问http://192.168.11.210/webroot/static/index.html,实际访问的是web目录下面的static/index.html文件,也及去掉了webroot这个目录,使用alias

location ^~ /webroot/ {
 alias /data/www/web/WebContent/;
}

注意:

1. 使用alias时,目录名后面一定要加"/"。

2. alias可以指定任何名称。

3. alias在使用正则匹配时,必须捕捉要匹配的内容并在指定的内容处使用。

4. alias只能位于location块中。[/warning]

http://192.168.11.210/webroot/test/static/index.html

location ^~ /webroot/test/ {
 alias /data/www/web/WebContent/;
}

这样也是可以的,最终访问的文件跟上面是一样的。

2、把对webroot/static/index.html的访问重定向到web目录下面的test目录下

location ~ ^/webroot/ {
 root /data/www/web/WebContent/test/;
}

http://192.168.11.210/webroot/static/index.html 实际访问的是web目录下testwebroot/static/index.html
及使用root一般是把访问目录重定向到某个目录下,但是访问的路径必须在重新定位的目录下

注意区分跟alias的区别

转载一个:

访问域名

www.adc.com/image  自动跳转到  www.adc.com/make/image

这个如何写

这种需求有多种方法可以实现:

1. 利用Nginx rewrite 内部跳转实现:

location /image {
     rewrite ^/image/(.*)$   /make/image/$1 last;
}

2.利用alias映射

location /image {
    alias /make/image; #这里写绝对路径
}

3.利用root映射:

location /image {
   root  /make;
}

4.利用nginx的permanent 301绝对跳转实现

location /image {
    rewrite ^/image/(.*)$  http://www.adc.com/make/image/$1;
}

5.判断uri实现

if ( $request_uri ~* ^(/image)){
    rewrite ^/image/(.*)$ /make/image/$1 last;
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • Nginx 重定向时获取域名的方法示例

    TL;DR 如果你在处理 Nginx 重定向时要获取原请求的域名(比如 HTTP 到 HTTPS),请用 $host 而不是 $server_name . 问题和解决方案 今天碰到一个问题,服务器上一个子域名的请求重定向到另一个子域名上面去了.查了一段时间发现这个问题只有在 HTTP 到 HTTPS 跳转的时候才会发生.大概是这样: 从 HTTP 的 sub2 子域名跳转到 HTTPS 的 sub1 子域名 http://sub2.example.com/more_things -> https

  • 详解nginx配置url重定向-反向代理

    本文系统:Centos6.5_x64 三台主机:nginx主机,hostname: master.lansgg.com  IP: 192.168.10.128             apache主机,hostname: client1.lansgg.com IP:  192.168.10.129 一.nginx 地址重定向 二.nginx 反向代理 1.地址重定向:是指当使用者浏览某个网址时,将他导向到另一个网址的技术.常用在把一串很长的网址,转成较短的网址.因为当要传播某网站时,常常因为网址

  • Nginx服务器中的重定向配置参考指南

    rewrite命令 nginx的rewrite相当于apache的rewriterule(大多数情况下可以把原有apache的rewrite规则加上引号就可以直接使用),它可以用在server,location 和IF条件判断块中,命令格式如下: rewrite 正则表达式 替换目标 flag标记 flag标记可以用以下几种格式: last – 基本上都用这个Flag. break – 中止Rewirte,不在继续匹配 redirect – 返回临时重定向的HTTP状态302 permanent

  • 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 301重定向的配置

    详解 Nginx 301重定向的配置 301重定向是很常见的需求,比如访问 nowamagic.net,自动跳到 www.nowamagic.net.或者倒过来,访问 www.nowamagic.net 跳到 nowamagic.net.Nginx 中配置 301 重定向(301 redirect)很容易,下面介绍下方法. 打开 nginx.conf 文件,找到你的 server 配置段: server { listen 80; server_name nowamagic.net www.now

  • 详解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 http重定向https配置说明

    nginx http重定向https配置说明 现在什么苹果,谷歌浏览器请求地扯基本都要求使用https了,如何把原来的http协议重定向到https中呢,这里我们可以使用http反向代理软件nginx. 使用 安装 yum install nginx -y 配置 cat /etc/nginx server { listen 80; server_name dounine.com www.dounine.com; return 301 https://www.dounine.com$request

  • 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地址重定向的方法

    1.假设要把webroot/static/index.html访问重定向到static/index.html 例如当我们通过浏览器访问http://192.168.11.210/webroot/static/index.html,实际访问的是web目录下面的static/index.html文件,也及去掉了webroot这个目录,使用alias location ^~ /webroot/ { alias /data/www/web/WebContent/; } 注意: 1. 使用alias时,目

  • Nginx中rewrite(地址重定向)的深入剖析

    目录 一.rewrite语法 二.应用场景 三.rewrite指定工作原理 四.flag 参数简介 1.last 2.break 3.redirect 4.parmanent 五.示例 总结 一.rewrite语法 指令语法:rewrite regex replacement[flag] 默认值:none 应用位置:server.location.if regex是PCRE 风格的,如果regex匹配URI,那么URI就会被替换成replacement,replacement 就是新的URI.如

  • vue 项目地址去掉 #的方法

    vue-router 设置 history 模式 vue 项目往往会搭配 vue-router 官方路由管理器,它和 vue.js 的核心深度集成,让构建单页面应用变得易如反掌.vue-router 默认为 hash 模式,使用 URL 的 hash 来模拟一个完整的 URL,所以当 URL 改变时,页面不会重新加载,只是根据 hash 来更换显示对应的组件,这就是所谓的单页面应用. 但是使用默认的 hash 模式时,浏览器 URL 地址中会有一个 # ,这跟以往的网站地址不太一样,可能也会让大

  • Net Core Web Api项目与在NginX下发布的方法

    前言 本文将介绍Net Core的一些基础知识和如何NginX下发布Net Core的WebApi项目. 测试环境 操作系统:windows 10 开发工具:visualstudio 2019 框架:Net Core 3 Net Core WebApi项目创建 首先创建一个Net Core WebApi项目--CorePublishForNginX. 首先选择Asp.Net Core Web应用程序,如下图: 然后修改项目名称,如下图: 然后选择Api选项,如下图: 项目创建完成,如下图: 代码

  • Nginx多层代理配置方法

    此篇只说nginx的多级代理配置,不扯其他的. 需求:hba.changyoufun.com-121.201.125.239(gd1)--hk1--co(alphaclash.ggdev.co)  广东代理--->香港--->加拿大 由于idc机房在加拿大,所以经常会配些nginx多级反向代理到国内.(不做代理client就得翻墙,或者说是丢包很严重.) 下面的Nginx配置我只写80的,443的忽略,简化nginx的配置,参数也不一一列举不然太多了. gd1的反向代理配置:(就是一个反向代理

  • nginx 多站点配置方法集合

    那么我们开始吧: 1.为我们的站点创建配置文件 我是这么做的,在nginx的配置文件conf目录下创建一个专门存放VirtualHost的目录,命名为vhosts_conf,可以把虚拟目录的配置全部放在这里.在里面创建名为vhosts_modoupi_websuitA.conf的配置文件并打开,我们在这里做配置,往里面写: 复制代码 代码如下: server { listen 80; #监听的端口号 server_name websuitA.com; #域名 #access_log logs/h

  • Python实现网络端口转发和重定向的方法

    本文实例讲述了Python实现网络端口转发和重定向的方法.分享给大家供大家参考,具体如下: [任务] 需要将某个网络端口转发到另一个主机(forwarding),但可能会是不同的端口(redirecting). [解决方案] 两个使用threading和socket模块的类就能完成我们需要的端口转发和重定向. #encoding=utf8 #author: walker摘自<Python Cookbook(2rd)> #date: 2015-06-11 #function: 网络端口的转发和重

  • Nginx简要安装配置方法图文教程

    直入主题: 1.nginx安装所需文件 1).nginx-1.2.8.tar.gz 2).openssl-1.0.1g.tar.gz 3).pcre-8.31.tar.gz 4).zlib-1.2.7.tar.gz 上述安装包的下载地址正常可用,由于本人用的是上述版本的安装包,所以下述安装均以此作为基础. 2.Linux机器的配置环境 2.1.java环境 $java -version java version "1.8.0_45" Java(TM) SE Runtime Enviro

  • Symfony2在Nginx下的配置方法图文教程

    本文详细讲述了Symfony2在Nginx下的配置方法.分享给大家供大家参考,具体如下: 网上有很多关于symfony2在nginx下的配置文章,如果是小白,按照网上贴出来的配置文件配置,却怎么也不成功,我经过多次摸索,写下心得: 1. 首先开启Nginx的pathinfo 至于什么是pathinfo,可以参考文章<nginx下支持PATH_INFO的方法实例详解>,自行脑补.很多人按照教程配置的时候,会报500的错误,查报错日志也查不出来,八成就是没有开启pathinfo. 如果你的主机上安

随机推荐