Hello!
On Fri, Jun 21, 2013 at 8:13 PM, Sunday.Alexsunmiu wrote:
> Hi,这应该是属于Nginx的问题,Django或者ROR都有类似 URL Routing的设施,但那都是在 应用里面设置的,我看
> http://wiki.nginx.org/HttpLuaModule 没见着直接配置的地方,难道我要在nginx的配置里做?可动态的URL诸如
> http://domain/ticket/xxxxxx/info
> 这种URL又该如何?
在 Nginx 里面配置 URL 派发规则是效率最高的。对于可动态的 URL 你也可以使用正则 location
来定义,比如对于你的例子,可以在 nginx.conf 中这么写:
location ~ '^/ticket/[^\/]+/info' {
...
}
当然,在 ngx_lua 里,也可以很容易地通过 ngx.var.uri 和 ngx.re.match 这样的接口自己实现 URL
解析和派发。比如基于 ngx_lua 的 web 开发框架 Lapis 就是这么搞的:
http://leafo.net/lapis/
值得一提的是,ngx_lua/openresty 本身并没有提供花哨的 web 开发框架,而只是提供基础设施。事实上,基于
openresty 已经有多个第三方的 web 开发框架了,比如刚才提到的 Lapis 便是其中之一。
Regards,
-agentzh