首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Nginx重写多个入口点

问Nginx重写多个入口点
EN

Stack Overflow用户
提问于 2018-01-03 14:23:52
回答 1查看 679关注 0票数 1

我有这样的结构。

  • 项目根
    • entry_point1
      • index.html

代码语言:javascript
复制
- entry\_point2 
    - index.html
代码语言:javascript
复制
- entry\_point3 
    - index.html

当我路由到mydomain/entry_point1 1时,它将服务于正确的index.html

但是,如果我想将域的根(/)或任何其他未识别的路由路由到特定的入口点,该怎么办?例如:

我域/ 我的域/部分/路径/部分/其他/路径

所有这些路径都必须重定向到mydomain/entry_point3 3

但显然是这样的路线:

mydomain/entry_point1 1/偏/资源

不会被重定向

我怎样才能做到这一点?

我还使用了react路由器,因此mydomain/ entry _ point 1/path/ to /resource之类的路由将被重写到入口点的索引文件中。

提前感谢

编辑:我最终得到了以下配置:

代码语言:javascript
复制
server {
  root path/to/folder;
  index index.html index.htm;

  server_name mydomain;

  location ~^\/entry1\.* {
      try_files $uri $uri/ /entry1/index.html;
  }

  location ~^\/entry2\.* {
      try_files $uri $uri/ /entry2/index.html;
  }

  location ~^\/entry3\.* {
      try_files $uri $uri/ /entry3/index.html;
  }

  location ~* {
      try_files $uri $uri/ /entry3/index.html;
  }
}

现在的问题是,当我路由到mydomain/它将我重定向到:mydomain/entry3 3/.

除此之外,它工作得很完美。

当我路由到mydomain/(entry1|entry2|entry3)/some/resource时,它将服务于(entry3 1\\Enry2\Enry3)/index.html

当我路由到mydomain/some/other/path时,它服务于entry3 3/index.html

EN

回答 1

Stack Overflow用户

发布于 2018-01-03 14:49:20

代码语言:javascript
复制
server {
  listen 8081;

  location ~^\/entry2\.* {
    return 301 $scheme://www.entrypoint2.com$request_uri;
  }
  location ~^\/entry1\.* {
    return 301 $scheme://www.entrypoint1.com$request_uri;
  }
  location ~* {
    return 301 $scheme://www.entrypoint1.com/;
  }
}

curl -X GET http://badasse.com:8081/entry1 -I => http://www.entrypoint1.com/entry1

curl -X GET http://badasse.com:8081/entry1/sdfsdf -I => http://www.entrypoint1.com/entry1/sdfsdf

curl -X GET http://badasse.com:8081/entry2 -I => http://www.entrypoint2.com/entry2

curl -X GET http://badasse.com:8081/entry2/sdfdsf -I => http://www.entrypoint2.com/entry2/sdfsdf

curl -X GET http://badasse.com:8081/esdfdsf -I => http://www.entrypoint1.com/entry1

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48079250

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档