亚洲最大看欧美片,亚洲图揄拍自拍另类图片,欧美精品v国产精品v呦,日本在线精品视频免费

  • 站長資訊網(wǎng)
    最全最豐富的資訊網(wǎng)站

    Apache服務器如何使CGI執(zhí)行?

    CGI(公共網(wǎng)關接口)定義了Web服務器與外部內(nèi)容生成程序交互的方式,這些程序通常被稱為CGI程序或CGI腳本。這是一種使用您最熟悉的編程語言將動態(tài)內(nèi)容放在網(wǎng)站上的簡單方法。

    Apache服務器如何使CGI執(zhí)行?

    配置Apache以允許CGI

    為了使CGI程序正常工作,需要配置Apache以允許CGI執(zhí)行。有幾種方法可以做到這一點。

    方式1:ScriptAlias指令 ( 推薦學習:Apache服務器 )

    ScriptAlias指令告訴Apache,為CGI程序留出了一個特定的目錄。Apache將假定此目錄中的每個文件都是CGI程序,并在客戶端請求該特定資源時嘗試執(zhí)行該程序。

    ScriptAlias指令如下所示:

    ScriptAlias "/cgi-bin/" "/usr/local/apache2/cgi-bin/"

    如果在默認位置安裝了Apache,則顯示的示例可在默認httpd.conf配置文件找到。

    ScriptAlias指令很像Alias指令,它定義了一個映射到特定目錄的URL前綴。Alias和ScriptAlias通常用于DocumentRoot目錄之外的目錄。

    Alias和ScriptAlias之間的區(qū)別在于ScriptAlias具有額外的含義,即該URL前綴下的所有內(nèi)容都將被視為CGI程序。

    因此,上面的示例告訴Apache,對于以/cgi-bin/開頭的資源的任何請求都應該在目錄/usr/local/apache2/cgi-bin/中提供,并且應該被視為CGI程序。

    例如,如果請求URL http://www.example.com/cgi-bin/test.pl,Apache將嘗試執(zhí)行文件/usr/local/apache2/cgi-bin/test.pl并返回輸出。當然,該文件必須存在,并且是可執(zhí)行的,并以特定方式返回輸出,否則Apache將返回錯誤消息。

    方式2:ScriptAlias目錄之外的CGI

    出于安全原因,CGI程序通常僅限于ScriptAlias的目錄。通過這種方式,管理員可以嚴格控制允許誰使用CGI程序。但是,如果采取適當?shù)陌踩A防措施,則沒有理由不能從任意目錄運行CGI程序。

    例如,您可能希望使用UserDir指令讓用戶在其主目錄中擁有Web內(nèi)容。如果他們想擁有自己的CGI程序,但無法訪問主cgi-bin目錄,則需要能夠在其他地方運行CGI程序。

    允許在任意目錄中執(zhí)行CGI有兩個步驟。首先,必須使用AddHandler或SetHandler指令激活cgi-script處理程序。其次,必須在Options指令中指定ExecCGI。

    方式3:使用Options來允許CGI執(zhí)行

    可以在主服務器配置文件中明確使用Options指令來指定在特定目錄中允許CGI執(zhí)行:

    <Directory "/usr/local/apache2/htdocs/somedir">     Options +ExecCGI </Directory>

    上述指令告訴Apache允許執(zhí)行CGI文件。還需要告訴服務器哪些文件是CGI文件。以下AddHandler指令告訴服務器將所有帶有cgi或pl擴展名的文件視為CGI程序:

    AddHandler cgi-script .cgi .pl

    方式4:用戶目錄

    要允許在用戶目錄中以.cgi結尾的任何文件執(zhí)行CGI程序,可以使用以下配置。

    <Directory "/home/*/public_html">     Options +ExecCGI     AddHandler cgi-script .cgi </Directory>

    如果您希望指定用戶目錄的cgi-bin子目錄,其中所有內(nèi)容都將被視為CGI程序,則可以使用以下命令。

    <Directory "/home/*/public_html/cgi-bin">     Options ExecCGI     SetHandler cgi-script </Directory>

    贊(0)
    分享到: 更多 (0)
    網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號