nginx重定向

2018-10-12  本文已影响0人  丿灬尘埃

有时候打开自己网站,但是某些资源确没有在网站项目中,可能位于其他网站(此时你的网站链接起到的作用就是一个代理了)。
那么有什么办法做到上述的这些情况呢。很简单-->nginx代理,个人感觉nginx做代理是非常强大的。开始之前建议由正则基础,开始步入正题吧

  1. nignx修改root映射实现服务器任意位置的找到资源,前提是资源和访问路径是同一台服务器:
    比如说一张图片 1.png 在服务器的/usr/location/1.png,你的项目随意位置,但是当访问xxxx/image/1.png 可以访问到这张图片,那么完全可以这么操作
      location /image{
            root  /usr/location/;#绝对路径
      } 

2.通过rewrite跳转实现访问重定向,这个不仅可以跳转本服务任意位置,同时可以作为一个中间代理,比如说你要访问https://{你的域名}/en/download.html 但是你想这么访问的结果是nginx的结果 (http://nginx.org/en/download.html)那么你可以秀一波完美的操作了,不过官方用语应该是nginx的permanent 301绝对跳转。

    location  /s {
          rewirte  ^/s/(.*)$    http://nginx.org/en/$1  break;
     }

注:$1 的意思其实是en/后边的那一坨
break和last可以看下https://blog.csdn.net/brainkick/article/details/7475770 很详细

4.其实rewrite也可以实现内部跳转,和root也很像

      location /image {
              rewrite ^/image/(.*)$     /usr/location/$1 last;
       }
  1. alias别名映射,写法和root基本一样
上一篇下一篇

猜你喜欢

热点阅读