2017-08-26 57 views
1

我尝试了雅司病,但是我遇到了一个肿块。当我到达路径时,我的.yaws文件中的代码不会被编译,而是被打印在窗口上。这里是我的代码和配置:雅司病码内<erl></erl>没有运行

<erl> 
method(Arg) -> 
    Rec = Arg#arg.req, 
    Rec#http_request.method. 

out(Arg) -> 
    {ehtml, f("Method: ~s", [method(Arg)])}. 
</erl> 

服务器配置:

<server localhost> 
    port = 8000 
    listen = 127.0.0.1 
    docroot = /home/something/ 
    dir_listings = true 
    dav = true 
    auth_log = true 
    statistics = true 
</server> 

任何信息将真正理解,谢谢。

+0

我不知道你所说的“印在窗户上”的意思;请澄清你期望发生的事情以及实际发生的事情。我复制并粘贴你的''代码到一个名为'xxx.yaws'文件,然后通过访问该雅司病通过文件的URL,并得到了文字'方法:GET'如预期,所以我不知道还有什么你我期待着。有关在.yaws页面中使用'html'和'ehtml'的信息,您可能需要阅读http://yaws.hyber.org/dynamic.yaws。另外,请告诉我们您使用的是哪个版本的Yaws。 –

+0

它显示我的浏览器上的代码,这就是我的意思。 – Mark20

+0

你说你看到你的问题所示的确切内容,用''标签和所有? .yaws文件的名称是什么,以及如何在浏览器中访问它? –

回答

2

问题是,您的服务器配置中有dav = true,它启用WebDAV(一种用于内容管理的协议)。在这种配置下,一个.yaws文件被视为只是一个普通的文件,而不是作为一个需要特殊处理雅司病,这就是为什么你看到的文件逐字内容,当你通过浏览器访问它。

从您的配置中删除dav = true,然后重新启动Yaws将按照您的预期处理您的example.yaws文件。

+0

非常感谢。 – Mark20