幫助中心
這里有最新的使用文檔和教程
Apache 如何支持SHTML(SSI)的配置方法,設置Apache支持shtml,apache上shtml 打不開怎么辦?
什么是shtml,什么是SSI,其實是一回事。先說SSI吧,SSI全稱是Server Side Including,即服務器端包含文件。簡單的說,就是靜態網頁中可以包含靜態網頁,而不是使用框架。我們知道,要在一個頁面中包含另一個頁面,動態語言如ASP、PHP等可以做到,但不使用動態語言的情況下,SSI就是一個很方便的技術。
那么回過頭來看,什么是shtml呢,它就是包含了其它靜態頁面的html頁面。為了顯示它與別的html文件的不同,于是它的文件后綴改成了shtml或shtm。
下面我們看看在Apache中,如何修改配置文件,讓Apache服務器支持shtml格式的文件。要設置Apache支持shtml,首先必須要給配置文件指定Option選項:
Options +Includes
這個指令的意思讓Apache支持服務器端包含。但現在Apache還不知道哪些文件是服務器端包含文件,需要特別指定一下,如何指定呢,有兩種方法:
第一,指定后綴類型,再加Filter
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml
假如我們的SSI文件是以.shtml后綴命名的,那上面的指定就告訴服務器shtml服務器在輸出時進行服務器端包含處理。非.shtml的文件,即便有包含指令,也不會被解析。這種做法有一個缺陷,那就是文件后綴必須修改為.shtml。如果一個已經運營一段時間的網站,要修改網頁文件名,是一件很困難的事,對SEO也會有很大的影響。
第二,使用XBitHack指令
XBitHack on
XBitHack告訴Apache解析所有設置了執行位的文件中的SSI指令。這樣,無需修改文件名(即還使用.html作為文件后綴),只要用chmod使文件變成可執行的,就可以對現有頁面增加SSI指令。
Linux下可以使用這個命令來加執行位:chmod +x page.html。
在Windows下暫時沒有找到相應的辦法來設置執行位,不過在Windows平臺下,我們使用IIS來搭建服務器。IIS中有一個“服務器端包含文件”的擴展,啟用它就可以使用IIS支持.shtml和.shtm的文件了。