apache SHTML網(wǎng)頁SSI使用詳解
更新時間:2009年10月09日 12:49:42 作者:
在網(wǎng)站構建過中。當我們遇到很多的內容為靜態(tài)頁面,而頁首與頁腳又經常要更換時,如果一直使用html文件總會有很多的麻煩。
方法一:下面是詳細的設置apache支持shtml的設置步驟
開啟includes模塊運行shtml
0、開啟php環(huán)境安裝目錄 (我的為D:\wamp\Apache2\conf下) 的httpd.conf 文件中的(大概408-409行處):
1、 AddType text/html .shtml
AddOutputFilter INCLUDES .shtml
2、(F:/shz 為運行文件存放的地方)
DocumentRoot "F:/shz" (大概150處)
<Directory "F:/shz"> (大概178處)
3、在Options Indexes FollowSymLinks 后面添加 +Includes
如:Options Indexes FollowSymLinks +Includes (大概197處):
需重啟apache);
方法二:如何讓apache支持.shtml 讓apache支持include標簽
打開conf目錄下的httpd.conf文件,搜索“AddType text/html .shtml”,搜索結果:
修改為:
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml
Options Indexes FollowSymLinks includes
保存httpd.conf,重起apache即可。
到此我們就完成了對Apache SSI的設置.
<!--#include file="index.php"-->
個人覺得SSI的好處是靜態(tài)化中局部動態(tài)化的處理比較方便,比如新聞中的留言
以下是詳細的說明介紹
因為批量修改起來很不方面,所以我們總希望能將頁腳與頁尾include到html文件中來。html屬于客戶端解析形的格式化語言,自4.0后幾乎很難再有大的變動(畢竟很多瀏覽器只按4.0標準來解析),所以至今也沒include這樣的概念。而html的框架(frame與iframe)雖然可以用來包含首頁與頁腳文件,但使用frame與iframe的概念與動態(tài)頁面(asp,jsp,php等)的include那樣不同,frame與iframe的主體頁面與被包括的頁的不是一個頁面,而通過include的方式調用的頁面主體頁面與被包括的頁面仍然是一個頁面,這樣頁面再加載的時就沒速度的影響,更不會有多個窗口這樣的問題。當然frame與iframe的作用還是挺大的,只是這與include這樣包括頁面進來的概念不同。
除frame與iframe之外,常用的調用文件的方法還有采用js。這與include概念倒是很接近,但可以需要客戶端js的支持,而且修改也不很方面,因為被包括的js是通過document.write來輸出html代碼,這樣雖然能達到效果,可js畢竟執(zhí)行客戶端動態(tài)效果更好,比如現(xiàn)在較流行的AJAX。所以無論是frame/iframe還是js都與include不太一樣(倒是Dreamweaver中的library與include很像,可惜只能用在Dreamweaver中),而我們有時頁面有很多靜態(tài)頁面,內容不是動態(tài)的且沒有規(guī)律可循,更不好做到數(shù)據(jù)庫里去。如新浪的新聞之類的,這時我們可以采用shtml的方式來做這些頁面。
那什么是shtml呢?
使用SSI(Server Side Include)的html文件擴展名,SSI(Server Side Include),通常稱為"服務器端嵌入"或者叫"服務器端包含",是一種類似于ASP的基于服務器的網(wǎng)頁制作技術。默認擴展名是 .stm、.shtm 和 .shtml。
什么是SSI?
SSI是英文Server Side Includes的縮寫,翻譯成中文就是服務器端包含的意思。從技術角度上說,SSI就是在HTML文件中,可以通過注釋行調用的命令或指針。SSI具有 強大的功能,只要使用一條簡單的SSI命令就可以實現(xiàn)整個網(wǎng)站的內容更新,時間和日期的動態(tài)顯示,以及執(zhí)行shell和CGI腳本程序等復雜的功能。 網(wǎng)站維護常常碰到的一個問題是,網(wǎng)站的結構已經固定,卻為了更新一點內容而不得不重做一大批網(wǎng)頁。SSI提供了一種簡單、有效的方法來解決這一問題,它將 一個網(wǎng)站的基本結構放在幾個簡單的HTML文件中(模板),以后我們要做的只是將文本傳到服務器,讓程序按照模板自動生成網(wǎng)頁,從而使管理大型網(wǎng)站變得容易。
如何使你的Apache服務器支持SSI?
Apache(如何在windows以及l(fā)inuc下安裝apache請參見另兩篇文章)默認是不支持SSI的,需要我們更改httpd.conf來進行配置。我這里以windows平臺的Apache 2.0.x為例(在linux平臺下與之相同),打開conf目錄下的httpd.conf文件,搜索“AddType text/html .shtml”,找到:
以下是引用片段:
# AddType text/html .shtml
# AddOutputFilter INCLUDES .shtml
把這兩行前面的#去掉 。
然后搜索“Options Indexes FollowSymLinks”
在搜索到的那一行后面添加“ Includes”
即將該行改變?yōu)?Options Indexes FollowSymLinks Includes
熟悉apache manual的可能會覺得比較容易。
保存httpd.conf,重起apache即可
到此我們就完成了對Apache SSI的設置。
SSI命令:
1、Config命令
Config命令主要用于修改SSI的默認設置。其中:
Errmsg:設置默認錯誤信息。為了能夠正常的返回用戶設定的錯誤信息,在HTML文件中Errmsg參數(shù)必須被放置在其它SSI命令的前面,否則客戶端只能顯示默認的錯誤信息,而不是由用戶設定的自定義信息。
<!--#config errmsg="Error! Please email webmaster@mydomain.com -->
Timefmt:定義日期和時間的使用格式。Timefmt參數(shù)必須在echo命令之前使用。
<!--#config timefmt="%A, %B %d, %Y"-->
<!--#echo var="LAST_MODIFIED" -->
顯示結果為:Wednesday, April 12, 2000
Sizefmt:決定文件大小是以字節(jié)、千字節(jié)還是兆字節(jié)為單位表示。如果以字節(jié)為單位,參數(shù)值為"bytes";對于千字節(jié)和兆字節(jié)可以使用縮寫形式。同樣,sizefmt參數(shù)必須放在fsize命令的前面才能使用。
<!--#config sizefmt="bytes" -->
<!--#fsize file="index.html" -->
2、Include命令
Include命令可以把其它文檔中的文字或圖片插入到當前被解析的文檔中,這是整個SSI的關鍵所在。通過Include命令只需要改動一個文件就可以瞬間更新整個站點!
Include命令具有兩個不同的參數(shù):
Virtual:給出到服務器端某個文檔的虛擬路徑。例如:<!--#include virtual="/includes/header.html" -->
File:給出到當前目錄的相對路徑,其中不能使用"../",也不能使用絕對路徑。例如:<!--#include file="header.html" -->
這就要求每一個目錄中都包含一個header.html文件。
開啟includes模塊運行shtml
0、開啟php環(huán)境安裝目錄 (我的為D:\wamp\Apache2\conf下) 的httpd.conf 文件中的(大概408-409行處):
1、 AddType text/html .shtml
AddOutputFilter INCLUDES .shtml
2、(F:/shz 為運行文件存放的地方)
DocumentRoot "F:/shz" (大概150處)
<Directory "F:/shz"> (大概178處)
3、在Options Indexes FollowSymLinks 后面添加 +Includes
如:Options Indexes FollowSymLinks +Includes (大概197處):
需重啟apache);
方法二:如何讓apache支持.shtml 讓apache支持include標簽
打開conf目錄下的httpd.conf文件,搜索“AddType text/html .shtml”,搜索結果:
修改為:
復制代碼 代碼如下:
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml
Options Indexes FollowSymLinks includes
保存httpd.conf,重起apache即可。
到此我們就完成了對Apache SSI的設置.
<!--#include file="index.php"-->
個人覺得SSI的好處是靜態(tài)化中局部動態(tài)化的處理比較方便,比如新聞中的留言
以下是詳細的說明介紹
因為批量修改起來很不方面,所以我們總希望能將頁腳與頁尾include到html文件中來。html屬于客戶端解析形的格式化語言,自4.0后幾乎很難再有大的變動(畢竟很多瀏覽器只按4.0標準來解析),所以至今也沒include這樣的概念。而html的框架(frame與iframe)雖然可以用來包含首頁與頁腳文件,但使用frame與iframe的概念與動態(tài)頁面(asp,jsp,php等)的include那樣不同,frame與iframe的主體頁面與被包括的頁的不是一個頁面,而通過include的方式調用的頁面主體頁面與被包括的頁面仍然是一個頁面,這樣頁面再加載的時就沒速度的影響,更不會有多個窗口這樣的問題。當然frame與iframe的作用還是挺大的,只是這與include這樣包括頁面進來的概念不同。
除frame與iframe之外,常用的調用文件的方法還有采用js。這與include概念倒是很接近,但可以需要客戶端js的支持,而且修改也不很方面,因為被包括的js是通過document.write來輸出html代碼,這樣雖然能達到效果,可js畢竟執(zhí)行客戶端動態(tài)效果更好,比如現(xiàn)在較流行的AJAX。所以無論是frame/iframe還是js都與include不太一樣(倒是Dreamweaver中的library與include很像,可惜只能用在Dreamweaver中),而我們有時頁面有很多靜態(tài)頁面,內容不是動態(tài)的且沒有規(guī)律可循,更不好做到數(shù)據(jù)庫里去。如新浪的新聞之類的,這時我們可以采用shtml的方式來做這些頁面。
那什么是shtml呢?
使用SSI(Server Side Include)的html文件擴展名,SSI(Server Side Include),通常稱為"服務器端嵌入"或者叫"服務器端包含",是一種類似于ASP的基于服務器的網(wǎng)頁制作技術。默認擴展名是 .stm、.shtm 和 .shtml。
什么是SSI?
SSI是英文Server Side Includes的縮寫,翻譯成中文就是服務器端包含的意思。從技術角度上說,SSI就是在HTML文件中,可以通過注釋行調用的命令或指針。SSI具有 強大的功能,只要使用一條簡單的SSI命令就可以實現(xiàn)整個網(wǎng)站的內容更新,時間和日期的動態(tài)顯示,以及執(zhí)行shell和CGI腳本程序等復雜的功能。 網(wǎng)站維護常常碰到的一個問題是,網(wǎng)站的結構已經固定,卻為了更新一點內容而不得不重做一大批網(wǎng)頁。SSI提供了一種簡單、有效的方法來解決這一問題,它將 一個網(wǎng)站的基本結構放在幾個簡單的HTML文件中(模板),以后我們要做的只是將文本傳到服務器,讓程序按照模板自動生成網(wǎng)頁,從而使管理大型網(wǎng)站變得容易。
如何使你的Apache服務器支持SSI?
Apache(如何在windows以及l(fā)inuc下安裝apache請參見另兩篇文章)默認是不支持SSI的,需要我們更改httpd.conf來進行配置。我這里以windows平臺的Apache 2.0.x為例(在linux平臺下與之相同),打開conf目錄下的httpd.conf文件,搜索“AddType text/html .shtml”,找到:
以下是引用片段:
復制代碼 代碼如下:
# AddType text/html .shtml
# AddOutputFilter INCLUDES .shtml
把這兩行前面的#去掉 。
然后搜索“Options Indexes FollowSymLinks”
在搜索到的那一行后面添加“ Includes”
即將該行改變?yōu)?Options Indexes FollowSymLinks Includes
熟悉apache manual的可能會覺得比較容易。
保存httpd.conf,重起apache即可
到此我們就完成了對Apache SSI的設置。
SSI命令:
1、Config命令
Config命令主要用于修改SSI的默認設置。其中:
Errmsg:設置默認錯誤信息。為了能夠正常的返回用戶設定的錯誤信息,在HTML文件中Errmsg參數(shù)必須被放置在其它SSI命令的前面,否則客戶端只能顯示默認的錯誤信息,而不是由用戶設定的自定義信息。
<!--#config errmsg="Error! Please email webmaster@mydomain.com -->
Timefmt:定義日期和時間的使用格式。Timefmt參數(shù)必須在echo命令之前使用。
<!--#config timefmt="%A, %B %d, %Y"-->
<!--#echo var="LAST_MODIFIED" -->
顯示結果為:Wednesday, April 12, 2000
Sizefmt:決定文件大小是以字節(jié)、千字節(jié)還是兆字節(jié)為單位表示。如果以字節(jié)為單位,參數(shù)值為"bytes";對于千字節(jié)和兆字節(jié)可以使用縮寫形式。同樣,sizefmt參數(shù)必須放在fsize命令的前面才能使用。
<!--#config sizefmt="bytes" -->
<!--#fsize file="index.html" -->
2、Include命令
Include命令可以把其它文檔中的文字或圖片插入到當前被解析的文檔中,這是整個SSI的關鍵所在。通過Include命令只需要改動一個文件就可以瞬間更新整個站點!
Include命令具有兩個不同的參數(shù):
Virtual:給出到服務器端某個文檔的虛擬路徑。例如:<!--#include virtual="/includes/header.html" -->
File:給出到當前目錄的相對路徑,其中不能使用"../",也不能使用絕對路徑。例如:<!--#include file="header.html" -->
這就要求每一個目錄中都包含一個header.html文件。
相關文章
CentOS7中使用shell腳本安裝python3.8環(huán)境(推薦)
這篇文章主要介紹了CentOS7中使用shell腳本安裝python3.8環(huán)境,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-03-03LNMP服務器環(huán)境配置 (linux+nginx+mysql+php)
在高并發(fā)連接的情況下,Nginx是Apache服務器不錯的替代品。Nginx同時也可以作為7層負載均衡服務器來使用。Nginx 0.8.46 + PHP 5.2.14 (FastCGI) 可以承受3萬以上的并發(fā)連接數(shù),相當于同等環(huán)境下Apache的10倍2014-07-07詳解linux下tar壓縮解壓縮文件夾的命令與參數(shù)
大家都知道壓縮文件或者文件夾可以為磁盤節(jié)省不少空間,那么Linux系統(tǒng)的壓縮和解壓縮命令都有哪些呢?參數(shù)又有哪些呢?下面小編就給大家介紹Linux下tar壓縮和解壓縮文件夾的命令與參數(shù),希望本文的內容對你能有所幫助。2016-11-11Centos8(最小化安裝)全新安裝Python3.8+pip的方法教程
這篇文章主要介紹了Centos8(最小化安裝)全新安裝Python3.8+pip的方法教程,本文給大家整理了一份命令,需要的朋友可以參考下2020-02-02騰訊云(ubuntu)下安裝 nodejs + 實現(xiàn) Nginx 反向代理服務器
本文將介紹如何給騰訊云上的 Ubuntu Server 12.04 LTS 64位主機安裝 node 及 nginx,并簡單配置反向代理。2016-11-11關于CentOs系統(tǒng)自帶python和yum卸載后的解決辦法
前幾天因項目需要,在服務器上搭建python-mysql模塊,結果沒安裝好,于是乎想卸載重裝,遂在網(wǎng)上查詢卸載python的方法,結果一不小心直接把系統(tǒng)的python刪了個干凈,怎么處理呢,看看小編給大家?guī)淼谋酒坛贪?/div> 2018-11-11最新評論