การคอนฟิกให้แม่ข่ายยอมรับ 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 รู้ว่ายอมให้มีการแคช
|