Server Side Includes

Home

SSI Tutorial
Knowledge Developer Database Internet Resource
SSI Tutorial
1. แนะนำ SSI
2. การคอนฟิกให้แม่ข่ายยอมรับ SSI
3. คำสั่ง SSI พื้นฐาน
4. ตัวอย่างเพิ่มเติม
5. เทคนิค SSI ระดับสูง
6. สรุป
 
Internet
PHP
SSI
HTML
AJAX
 

การคอนฟิกให้แม่ข่ายยอมรับ SSI

การยอมรับ SSI บนแม่ข่ายต้องทำตามคำสั่งต่อไปนั้ทั้งในไฟล์ httpd.conf หรือในไฟล์ .htaccess

Options + Includes

คำสั่งนี้บอก Apache ว่าต้องการอนุญาตไฟล์ให้กระจายด้วยคำสั่ง SSI

ไม่ใช้ว่าไฟล์ใดๆจะได้รับการกระจายด้วยคำสั่ง SSI ต้องมีการบอก Apache ถึงไฟล์ที่ได้รับการกระจายโดยทำได้ 2 วิธี วิธีแรกเป็นการบอก Apache ให้กระจายด้วยนามสกุลไฟล์เฉพาะ เช่น .shtml ด้วยคำสั่วต่อไปนี้

AddType text/html .shtml
AddHandler server-parsed .shtml

ข้อเสียเปรียบประการหนึ่งของวิธีนี้ คือ ถ้าต้องการเพิ่มคำสั่ง SSI กับเพจที่มีอยู่จะต้องเปลี่ยนชื่อเพจเหล่านั้น และการเชื่อมโยงกับเพจนั้นทั้งหมดเพื่อที่จะให้เป็นนามสกุลไฟล์ .shtml ดังนั้นคำสั่งทั้งหมดจึงจะได้รับการประมวลผล

อีกวิธีหนึ่ง คือ ใช้คำสั่ง XBitHack

XBitHack on

XBitHack บอก Apache ให้กระจายไฟล์สำหรับคำสั่ง SSI ถ้ามีการประมวลผลชุดบิต ดังนั้นจึงสามารถเพิ่มคำสั่ง SSI บนเพจปัจจุบันแทนที่การเปลี่ยนชื่อไฟล์เพียงแต่สร้างการประมวลผลไฟล์ด้วยคำสั่ง cdmod

cdmod +x pagename .html

ความเห็นสรุปเกี่ยวกับสิ่งที่ไม่ต้องทำ จะเห็นบ่อยครั้งที่คนทั่วไปแนะนำว่าเพียงแต่บอกให้ Apache กระจายไฟล์ .html ทั้งหมดสำหรับ SSI ดังนั้นจึงไม่ต้องใช้ชื่อไฟล์ .shtml ความคิดเหล่านี้อาจจะไม่ได้ยินเกี่ยวกับ XBitHack สิ่งนี้ต้องระลึกเสมอว่าจากการทำสิ่งนี้กำลังต้องการให้ Apache อ่านทั้งหมดทุกไฟล์ที่ส่งให้ผู้เรียก ถึงแม้ว่าไม่ได้เก็บคำสั่ง SSI วิธีนี้ทำให้ช้าลงเล็กน้อยและไม่ใช่ความคิดที่ดี

บน Windows ไม่มีการประมวลผลชุดบิต ดังนั้น ทำให้จำกัดตัวเลือกเล็กน้อย

ในค่าเริ่มต้นคอนฟิก Apache ไม่ส่งวันที่ปรับปรุงครั้งสุดท้ายหรือข้อมูลความยาวส่วนหัวบนเพจ SSI เพราะค่าเหล่านี้ยากในการคำนวณสำหรับข้อมูลแบบไดนามิคส์ สิ่งนี้สามารถป้องเอกสารจากการแคชและผลลัพธ์การรับรู้ด้านผู้เรียกช้ากว่า ในการแก้ไขเรื่องนี้มี 2 วิธี

  • เพิ่มคอนฟิก XBitHack Full คำสั่งนี้บอก Apache ให้ค้นหาวันที่ปรับปรุงครั้งสุดท้ายโดยการมองเฉพาะวันที่ของไฟล์ที่เรียกดั้งเดิมและไม่สนใจวันที่ปรับปรุงของไฟล์ที่รวมอื่น
  • ใช้คำสั่งที่ให้โดย mod_expires เพื่อตั้งค่าเวลาหมดอายุเชิงประจักษ์บนไฟล์ จะทำให้ browser และ proxy รู้ว่ายอมให้มีการแคช

 


  

สงวนลิขสิทธิ์ (C) widebase / Julaphak