2017-08-26 60 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