用Newlisp开发网站二

URL路由到本地html文件

通过跟踪newlisp-redirection.lsp的代码,发现正则表达式原来使用来提取http请求的URL的最后一段,如:

> (regex {\w+\s+/([^\s]+)} "GET /dragonfly_welcome HTTP/1.1^M")
("GET /dragonfly_welcome" 0 22 "dragonfly_welcome" 5 17)

然后添加上扩展名.html,跳转到views目录的dragonfly_welcome.html文件。

之所以能跳转到views目录,是因为在dragonfly-framework/config.json文件中有这一行配置:

; location of views (for use with 'display-view' function)
(constant 'VIEWS_PATH (string DOCUMENT_ROOT "/views"))
而DOCUMENT_ROOT前文已经描述过,修改为本地目录

/opt/dragonfly-newlisp_v070/dragonfly-newlisp/example-site

所以结论是,如果有html文件,都放到views目录下。


高级一点,当我输入http://localhost:8080/foo时,会打开foo目录下的html文件。原因是在

config.lsp文件中有如下配置:

(constant 'STATIC_TRANSFORMATIONS '(
	(string DOCUMENT_ROOT "/" _ "/index.html")
	(string VIEWS_PATH "/" _)
	(string VIEWS_PATH "/" _ VIEW_EXTENSION)
))

注意这里的_ 符号,这里自动匹配了foo,因此第一条规则找到了index.html文件。其实这个特性对于熟练掌握Nginx的人来讲诱惑不大。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值