2017-02-09 55 views
-1

運行腳本有問題,我已經在我的配置文件中的以下部分:通過CGI在lighttpd的

cgi.assign = (".sh" => "") 

$HTTP["url"] =~ "^/urlpath/" { 
    $HTTP["querystring"] =~ "cams=on" { 
    cgi.assign = ("" => "/scriptpath/CamsOn") 
    } 
    $HTTP["querystring"] =~ "cams=off" { 
    cgi.assign = ("" => "/scriptpath/CamsOff") 
    } 
    url.redirect = ("^/urlpath/" => "http://somewebsite") 
} 

我加載CGI模塊:

server.modules    = (
           "mod_redirect", 
           "mod_access", 
           "mod_cgi", 
           "mod_accesslog") 

現在 「CamsOn」 和「CamsOff 「是shebanged shell腳本。說實話,我之前做過這件事,並使其工作,但我的服務器崩潰,我失去了我的配置。出於某種原因,我無法想象我的生活如何讓它工作。我做重定向,所以我不必實際創建「urlpath」頁面。重定向在$ HTTP [「url」]部分中正常工作,我甚至通過在裏面嵌套一個重定向來測試查詢字符串部分,它只需要它到google.com; urlpath /?cams =就此發送給我相應的谷歌。

我在做什麼錯?

更新:

我得到它使用

$HTTP["url"] =~ "^/urlpath/" { 
    $HTTP["querystring"] =~ "cams=on" { 
    cgi.assign = ("" => "/scriptpath/CamsOn") 
    } 
    $HTTP["querystring"] =~ "cams=off" { 
    cgi.assign = ("" => "/scriptpath/CamsOff") 
    } 
} 

我認爲重定向漸漸首先分析工作,所以當地址改變了,它不再符合網址和查詢字符串比較。我可以改變這個嗎?這個想法是使urlpath動態變化並在conf文件中更新。這就是爲什麼我將重定向發送給另一個地址。這樣我也不需要做HTML編輯或創建額外的文件夾。

回答

0

我在做什麼錯?

一)未進行備份

二)沒有做備份

C)沒有做備份

d)在自​​己的計算器後的歷史不看

請參閱Can't figure out how to receive http requests using lighttpd

如果您想減少您的電子郵件地址在你的配置文件中,你可以給lighttpd.conf中的一個變量賦值,並在lighttpd.conf中使用該變量。請參見var.*中的 https://redmine.lighttpd.net/projects/lighttpd/wiki/Docs_Configuration var.camsurlpath = "/urlpath/" $HTTP["url"] =~ "^" + var.camsurlpath { ... }