我有这样的结构。
- entry\_point2
- index.html- 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之类的路由将被重写到入口点的索引文件中。
提前感谢
编辑:我最终得到了以下配置:
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
发布于 2018-01-03 14:49:20
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
https://stackoverflow.com/questions/48079250
复制相似问题