thinkjs / thinkjs

Use full ES2015+ features to develop Node.js applications, Support TypeScript.
https://thinkjs.org/
MIT License
5.31k stars 617 forks source link

关于生产部署及路由的问题 #284

Closed denniswlin closed 8 years ago

denniswlin commented 8 years ago

DESC

如果要将应用部署到生产环境下,访问域名是www.a.com/aaa/blog/ blog才是应用的根路径,这个路由要如何去配置呢?

ENV

Platform:

Node.js Version:

ThinkJS Version:

denniswlin commented 8 years ago

补充另外一个生产的场景:www.a.com/a,www.a.com/b ,a.com这个生产域名下有a和b两个应用上下文同,a应用是thinkjs的后台应用根路径,b可能是其它系统的。目前thinkjs的路由可以支持吗?

welefen commented 8 years ago

可以配置前缀来忽略 URL 中的部分值,具体见:https://thinkjs.org/zh-cn/doc/2.1/route.html#toc-7ef

a, b 属于不同系统的话可以通过在 nginx 里用 location 处理。

qgy18 commented 8 years ago

b可能是其它系统的 => 这种情况推荐直接在 nginx 配置中针对 /b 做 proxy_pass。

denniswlin commented 8 years ago

非常感谢,通过设置pathname 过滤满足需求了,之前看文档确实没有发现这个可以这样处理,以为只能控制URL后面扩展名呢。有了这个可以同一个域名下按应用上下文区分多个应用了。代码该怎么写不用调整。

family2hu commented 4 years ago

@qgy18 这种情况推荐直接在 nginx 配置中针对 /b 做 proxy_pass。 => 请问,怎么配置才能优先匹配/b,我在官方的nginx.conf的基础上加proxy_pass,/b还是会匹配到 !-f $request_filename这一条,从而进入thinkjs系统处理了