ตัวอย่างเพิ่มเติม
ต่อไปเป็นตัวอย่างพิเศษที่สามารถทำให้เอกสาร HTML ด้วย SSI
การปรับปรุงเอกสารนี้
ในตอนต้นได้กล่าวว่าสามารถใช้ SSI ในการรายงานให้กับผู้ใช้ถึงการปรับปรุงเอกสารล่าสุด อย่างไรก็ตาม วิธีจริงในการทำให้มีคำสั่งทิ้งไว้ คำสั่งต่อไปนี้วางอยู่ในเอกสาร HTML และดึง timestamp บนเพจ โดยมีการเข้าถึง SSI อย่างถูกต้อง ตามการอภิปรายข้างบน
<!-- #config timefmt = %A%B%d, %Y -->
This document last modified <!-- #flastmod file = ssi.html -->
แน่นอนต้องแทนที่ไฟล์ ssi.html ด้วยชื่อจริงของไฟล์ที่อ้างถึง สิ่งนี้อาจจะไม่สะดวก ถ้ากำลังมองหาชุดคำสั่งที่สามารถวางไว้ในไฟล์ต่างๆ บางครั้งอาจจะต้องการตัวแปร LAST_MODIFIED แทน
<!-- #config timefmt = %D -->
This document last modified <!-- #flastmod file = LAST_MODIFIED -->
การรวมส่วนล่างมาตรฐาน
ถ้ากำลังจัดการเว็บที่มีเพจจำนวนมาก อาจจะพบว่าการแก้ไขเพจเหล่านั้นทั้งหมดเป็นความเจ็บปวด โดยเฉพาะอย่างยิ่ง ถ้ากำลังพยายามรักษามาตรฐานบางอย่างที่เหมือนกันบนเพจทั้งหมด
การใช้ไฟล์ที่รวม (include file) สำหรับส่วนหัว และ / หรือ ส่วนล่างสามารถลดภาระในการปรับปรุง เพียงแต่ต้องสร้างไฟล์ส่วนล่าง 1 ไฟล์ จากนั้นให้รวมไปยังแต่ละเพจด้วยคำสั่ง include ของ SSI หน่วยคำสั่ง include สามารถหาว่าไฟล์ที่ต้องการรวมด้วยแต่ละคุณลักษณะ file หรือคุณลักษณะ virtual คุณลักษณะ file เป็นพาร์ทของไฟล์ที่สัมพัทธ์กับไดเรคทอรีปัจจุบัน หมายความว่าไม่สามารถเป็นพาร์ทสัมบูรณ์ (เริ่มต้นด้วย / ) หรือสามารถเก็บ .. / เป็นส่วนหนึ่งของพาร์ท คุณลักษณะ virtual ใช้ประโยชน์ได้มากกว่าและสามารถระบุ URL สัมพัทธ์กับเอกสารที่รับบริการ โดยสามารถเริ่มต้นด้วย / แต่ต้องอยู่ในแม่ข่ายเดียวกับไฟล์ที่รับบริการ
<!-- #include virtual = footer.html -->
การคอนฟิกอื่น
นอกจากจากการใช้หน่วยคำสั่ง config รูปแบบเวลาแล้ว สามารถคอนฟิกได้ 2 อย่าง
ตามปกติ เมื่อเกิดความผิดพลาดกับคำสั่ง SSI จะได้รับข่าวสาร
[an error occurred while processing this directive ]
ถ้าต้องการเปลี่ยนข่าวสารเป็นอย่างอื่น สามารถทำได้ด้วยคุณลักษณะ errmsg กับหน่วยคำสั่ง config
<!-- #config errmsg = [It appears that you don't know how to use SSI] -->
หวังว่าผู้ใช้จะไม่เคยมองเห็นข่าวสารนี้ เพราะมีการแก้ไขปัญหาทั้งหมดเกี่ยวกับคำสั่ง SSI ก่อนการวางบนเว็บ
config ยังสามารถจัดรูปแบบขนาดไฟล์ส่งออกด้วยคุณลักษณะ sizefmt โดยสามารถระบุ bytes สำหรับการนับจำนวนเต็ม หรือ abbrev สำหรับจำนวนย่อเป็น Kb หรือ Mb ตามความเหมาะสม
การประมวลผลคำสั่ง
ต่อไปเป็นสิ่งที่สามารถทำด้วยหน่วยคำสั่ง exec โดยต้องมี SSI ประมวลผลคำสั่งด้วยการใช้ shell (/bin/sh สำหรับความแม่นยำ หรือ DOS shell ถ้าอยู่บน Win 32) ตัวอย่างนี้แสดงรายการไดเรคทอรี
<pre>
<!--#exec cmd="ls" -->
</pre>
หรือบน Windows
<pre>
<!--#exec cmd="dir" -->
</pre>
ให้สังเกตถึงรูปแบบแปลกออกไปของคำสั่งบน Windows เพราะผลลัพธ์จาก dir เก็บข้อความ <dir> ไว้ภายใน ซึ่งทำความสับสนให้กับ browser
หมายเหตุ ส่วนการทำงานนี้เป็นอันตรายเกินไป เนื่องจากจะประมวลผลคำสั่งทุกอย่างตามที่มีการวางไว้ใน exec ถ้าอยู่ในสถานการณ์ที่ผู้ใช้สามารถแก้ไขข้อมูลบนเว็บเพจ เช่น สมุดเยี่ยม ต้องทำให้มั่นใจว่าได้ทำให้ส่วนการทำงานเข้าไม่ถึง SSI สามารถรับอนุญาตได้ แต่ไม่ยอมให้กับส่วนการทำงาน exec ด้วยอากิวเมนต์ IncludeNOEXEC กับคำสั่ง Options
|