SSI学习(二)
1、SSI指令
#config:指定返回到client瀏覽器的錯誤消息、日期和文件大小所使用的格式。#echo:在 HTML 頁中插入環境變量的值。
#exec:執行一個應用程序或一條 shell 命令并將輸出插入到 HTML 頁中。
#flastmod:將文件改動日期插入到 HTML 頁中。
#fsize:將文件大小插入到 HTML 頁中。
#include:在 HTML 或 ASP 頁中包括文件。
由于包括 SSI 指令的文件須要特殊處理,所以必需給 SSI 文件一個 SSI 文件擴展名。
默認的擴展名為 .stm、.shtm 和 .shtml。可是有的SSI指令能夠在其它文件里使用。
2、APACHE開啟SSI
載入SSI模塊 SSI使用的是mod_include的動態系統對象。一般默認的情況安裝的情況下都會安裝。Linux下能夠通過apachectl -l 查看是否包含mod_include.o文件。假設沒有,那么須要又一次編譯apache。對于win32版的apache,簡單地查看
httpd.conf中LoadModule include_module modules/mod_include.so行是否凝視狀態,假設是。去掉#?配置httpd.conf 使.shtml擴展名的文件啟用SSI? 去掉下面配置的凝視 #AddType text/html .shtml #AddOutputFilter INCLUDES .shtml 開啟包括功能 找到主機DOCUMENT_ROOT文件夾配置下?
Options Indexes FollowSymLinks?
改動為:?
Options Indexes FollowSymLinks Includes?
須要注意的是,ssi能夠利用shell來運行命令,因此這個功能是有危急的,它會運行不論什么包括在exec標記中的命令,假設你的用戶有權限改動你的網頁內容,建議把該功能關閉。
當然你還能夠加上IncludesNOEXEC參數,來關閉exec功能,同一時候又保留SSI。
此時改為: Options Indexes FollowSymLinks INCLUDES IncludesNOEXEC
3、demo測試
在DocumentRoot目錄下新建兩個頁面:index.shtml Time: <!--#echo var="DATE_LOCAL" --> <br> ServerName: <!--#echo var="SERVER_NAME" var="DOCUMENT_URI" --> <br> ENV:<!--#printenv --> <br> <!--#set var="cond" value="true" --> <!--#echo var="cond" --> <br> <!--#if expr="cond='true'" -->condition is true <!--#else -->condition is false <!--#endif --> <br> <!--#include virtual="header.html" -->
header.html head頁面被包括進來
通過瀏覽器訪問:http://localhost:9999/index.shtml就可以查看結果
轉載于:https://www.cnblogs.com/zsychanpin/p/6747653.html
總結
- 上一篇: Eclipse显示内存占用
- 下一篇: 软件测试要经过哪几个阶段?