SSI使用詳解(1)

來源:互聯網
上載者:User

綜述

SSI是英文Server Side Includes的縮寫,翻譯成中文就是伺服器端包含的意思。從技術角度上說,SSI就是在HTML檔案中,可以通過注釋行調用的命令或指標。SSI具有強大的功能,只要使用一條簡單的SSI 命令就可以實現整個網站的內容更新,時間和日期的動態顯示,以及執行shell和CGI指令碼程式等複雜的功能。SSI 可以稱得上是那些資金短缺、時間緊張、工作量大的網站開發人員的最佳幫手。本文將主要結合Apache伺服器介紹SSI的使用方法。

如何啟動SSI?

在Apache伺服器下,可以通過直接編輯伺服器設定檔或者在需要使用SSI的目錄中建立.htaccess檔案來啟動SSI。具體過程如下:

1.伺服器設定檔

如果使用者具有對伺服器設定檔的存取權限,可以通過編輯檔案access.conf和srm.conf啟動SSI。

首先登入到伺服器,找到設定檔的存放目錄,使用任何一種文字編輯器開啟檔案srm.conf,找到以下幾行:

    # If you want to use server side includes, or CGI outside
    # ScriptAliased directories, uncomment the following lines.
    #AddType text/x-server-parsed-html .shtml
    #AddType application/x-httpd-CGI .CGI
  注意, 高版本的Apache可能是這幾行:
    #
    # To use server-parsed HTML files
    #
    #AddType text/html .shtml
    #AddHandler server-parsed .shtml

使用者的設定檔中可能沒有上述的注釋指令行,但是只要找到以AddType開頭的兩行並且去掉每一行最前面的"#"符號即可。

儲存所做的修改,然後再開啟檔案access.conf。使用者需要在檔案中找到設定DocumentRoot(根檔案)的部分。一般來說該段文本如下:

    # This should be changed to whatever you set DocumentRoot to.
    <Directory /usr/local/etc/httpd/htdocs>
    # This may also be "None", "All", or any combination of "Indexes",
    # "Includes", or "FollowSymLinks"
    Options Indexes FollowSymLinks
    </Directory>
將其中的Options Indexes FollowSymLinks改為:
    Options Indexes FollowSymLinks Includes

如果使用者不希望執行指令碼或shell命令,可以在options選項行中加入關鍵字IncludesNOEXEC,這樣可以允許SSI,但是不能執行CGI或指令碼命令(註:高版本的Apache伺服器中,以上所提到的內容都已經被包含在設定檔httpd.conf中)。

2.建立檔案.htaccess

如果使用者不能直接存取伺服器設定檔,可以使用檔案編輯器建立一個名為.htaccess的檔案。注意,檔案名稱前一定要有符號"."。.htaccess檔案中需要加入以下三行文字:

    Options Indexes FollowSymLinks Includes
    AddType application/x-httpd-CGI .CGI
    AddType text/x-server-parsed-html .shtml

完成之後,可以把.htaccess檔案上傳到服務端的相應目錄,該檔案對所有子目錄有效。如果使用者希望在目錄級上禁止CGI或shell命令,可以在.htaccess檔案中的Options選項行加入關鍵字IncludesNOEXEC。

3.使用.shtml還是.html?

任何包含SSI的檔案在下傳到用戶端之前,都必須經過伺服器的解析過程。這樣會增加伺服器的負載,如果使用者只希望在幾個特殊頁面中使用SSI,可以將檔案的尾碼名改為.shtml,這樣伺服器就可以只解析包含SSI的.shtml檔案。另一方面,如果有多個頁面使用了SSI,但是使用者不希望使用.shtml的尾碼名時,可以在.htaccess檔案中使用以下命令列:

    AddType text/x-server-parsed-html .html

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.