Apache SSI 筆記

設定:
在 <directory xxxx> </directory>中的 options 加上 "+Include".
若不想執行外部程式,則改用 IncludeNoExec

慣例命名:
一般都以 .shtml 或 .shtm 來命名.

命令格式:
<!–#命令 引數1=xxx 引數2=xxx…->

命令可以是:

1.config: 可用於顯示錯或設定時間,檔案大小的格式

引數有: errmsg, sizefmt, timefmt
如:<!--#config errmsg="error" -->
<!--#config sizefmt="bytes"-->
<!--#config timefmt="%m/%d/%y"-->

2.echo:列印變數

如:<!--#echo var="DATE_LOCAL"-->

3.exec:執行外部程式

如:<!--#exec cgi="/cgi-bin/prog.cgi"-->
<!--#exec cmd="prog"--> 會啟動 shell 來處理

4.fsize:印出指定檔案的大小

如:<!--#fsize file="路徑"-->
<!--#fsize virtual="URL"-->

5.flastmod:印出檔案最後修改日期

如:<!--#flastmod file="路徑"-->
<!--#flastmod virtual="URL"-->

6.include:將某檔案含括進來

如:<!--#include file="路徑"-->
<!--#include virtual="URL"-->

7.printenv:印出所有環境變數

如:<!--#printenv-->

8.set:自行設定變數

如:<!--#set var="home" value="index.shtml"-->

SSI 預設的變數:

  1. DATE_GMT
  2. DATE_LOCAL
  3. DOCUMENT_NAME
  4. DOCUMENT_URI
  5. LAST_MODIFIED

流程控制:

<!--#if expr="${REMOTE_HOST}=/206\.171\.50/&&${DOCUMENT_NAME}=/${DATE_LOCAL}/"-->
<!--#else-->
<!--#endif-->
p.s.若是變數,要加上${}以示區別.