nginx下根据指定路由重定向

  前言:

  最近在搭建vue后台,后端接口是PHP写的,线上构建好之后,需要请求其他域名下的接口,开发环境已经使用proxytable解决了接口问题,为了开发和生成的代码一致,

编译后的代码,放在nginx下运行,配置了路由重写。

  项目说明:

前端页面域名 front.me,后端接口backend.me,前端访问后端接口都是请求front.me/api/controller/action,nginx配置了重定向,当检测到路由里面/api/是会重定向到 backend.me/controller/action,下面是完整配置,其中重定向配置,我加了说明

  

server
    {
        listen 9929 default_server;
        server_name _;
        index index.html index.htm index.php;
        root  /data/web/eyeSkyAdmin/dist;
        include enable-php-pathinfo.conf;
        location /nginx_status
        {
            stub_status on;
            access_log   off;
        }

        location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
        {
            expires      30d;
        }

        location ~ .*\.(js|css)?$
        {
            expires      12h;
        }

        location ~ /.well-known {
            allow all;
        }

        location ~ /\.
        {
            deny all;
        }
        #这段是指定路由重定向配置start
        location /api/{
            rewrite ^/proxy/html/(.*)$ /$1 break;
            proxy_pass http://backend.me/;
        }
        #这段是指定路由重定向配置end
        access_log  /home/wwwlogs/access.log;
    }    

  

原文地址:https://www.cnblogs.com/IT--Loding/p/10368459.html

时间: 2024-10-10 13:18:21

nginx下根据指定路由重定向的相关文章

nginx下yii2设置路由规则

1. 在配置文件web.php中添加配置代码: 'urlManager'=>[ 'enablePrettyUrl' => true, 'showScriptName' => false, 'rules' => [ "<controller:\w+>/<action:\w+>/<id:\d+>"=>"<controller>/<action>", "<contro

01_Nginx安装,nginx下部署项目,nginx.conf配置文件修改,相关文件配置

?? 1.下载Nginx,进入Nginx下载地址:http://nginx.org/ 点击nginx-1.8.0,进入:http://nginx.org/en/download.html,下载文件: 2 下载pcre,这个是一个正则表达式的库,Nginx做rewriter的时候回用到这个库: 进入pcre的官网(rewrite模式需要pcre):http://www.pcre.org/ 选中右击复制所需要的版本: 3 下载zlib库(gzip模块需要zlib):http://www.zlib.n

NGINX下如何自定义404页面

什么是404页面 如果碰巧网站出了问题,或者用户试图访问一个并不存在的页面时,此时服务器会返回代码为404的错误信息,此时对应页面就是404页面.404页面的默认内容和具体的服务器有关.如果后台用的是NGINX服务器,那么404页面的内容则为:404 Not Found 为什么要自定义404页面 在访问时遇到上面这样的404错误页面,我想99%(未经调查,估计数据)的用户会把页面关掉,用户就这样悄悄的流失了.如果此时能有一个漂亮的页面能够引导用户去他想去的地方必然可以留住用户.因此,每一个网站都

Ember.js 入门指南——路由重定向

声明:对于transition这个词直译是"过渡"的意思,但是总觉得"路由的过渡"读起来总有那么一点别扭,想了下于是就用"切换"替代吧,如有不妥欢迎指正. 我们熟知的Java.PHP等语言都提供了URL的重定向,那么Ember的重定向又是怎么去实现的呢? 如果是从路由重定向到另外一个路由你可以调用transitionTo方法重定向到另一个路由,如果是从controller重定向到一个route你可以调用transitionToRoute方法.tr

实例讲解Nginx下的rewrite规则 来源:Linux社区

一.正则表达式匹配,其中:* ~ 为区分大小写匹配* ~* 为不区分大小写匹配* !~和!~*分别为区分大小写不匹配及不区分大小写不匹配二.文件及目录匹配,其中:* -f和!-f用来判断是否存在文件* -d和!-d用来判断是否存在目录* -e和!-e用来判断是否存在文件或目录* -x和!-x用来判断文件是否可执行三.rewrite指令的最后一项参数为flag标记,flag标记有:1.last    相当于apache里面的[L]标记,表示rewrite.2.break本条规则匹配完成后,终止匹配

Linux学习总结(四十)lnmp之nginx安装 用户认证 域名重定向

1 nginx 介绍 Nginx官网 nginx.org,最新版1.13,最新稳定版1.12 Nginx应用场景:web服务.反向代理.负载均衡Nginx著名分支,淘宝基于Nginx开发的Tengine,使用上和Nginx一致,服务名,配置文件名都一样,和Nginx的最大区别在于Tenging增加了一些定制化模块,在安全限速方面表现突出,另外它支持对js,css合并Nginx核心+lua相关的组件和模块组成了一个支持lua的高性能web容器openresty 2 nginx 安装 cd /usr

关于vue-router,路由重定向的使用分析

看之前的项目,突然发现一个不算bugd的bug,之前也是一直没有想到,现在发现之后越来越觉得有必要改掉, 如图,项目用的是vue做的,自然切换用的就是路由,一级路由包括:首页.记录和个人中心,二级路由是在记录下面的三个报修记录, 如上图路由分配,一级路由重定向到index,二级重定向至repair,一直觉得这样没什么问题,结果有次突然点到第三方租赁页,然后又点到个人中心, 这是呢,我又想看看刚刚租赁页的信息,这时,由于路由重定向,自然出现的是报修页,这样理论上是没有错的,但是我不想这样呀,所以我

Linux下的输入/输出重定向

Linux环境中支持输入输出重定向,用符号<和>来表示.0.1和2分别表示标准输入.标准输出和标准错误信息输出,可以用来指定需要重定向的标准输入或输出,比如 2>lee.dat 表示将错误信息输出到文件lee.dat中. 同时,还可以在这三个标准输入输出之间实现重定向,比如将错误信息重定向到标准输出,可以用 2>&1来实现.Linux下还有一个特殊的文件/dev/null,它就像一个无底洞,所有重定向到它的信息都会消失得无影无踪.这一点非常有用,当我们不需要回显程序的所有信

nginx下yii伪静态处理

Yii在Nginx下的rewrite配置 今天配置nginx后首页显示正常,点击链接就报404错误,只是知道在apache下只要开启重定向模块,再nginx下加上如下配置即可: 1. Nginx配置 在nginx.conf的server {段添加类似如下代码: Nginx.conf代码: location / { if (!-e $request_filename){ rewrite ^/(.*) /index.php last; } } 2. 在Yii的protected/conf/main.