SHTML และ ASP มีความคล้ายคลึงกัน ในไฟล์ที่ตั้งชื่อตาม SHTML มีการใช้คำแนะนำ SSI บางอย่างเช่นเดียวกับคำแนะนำใน ASP คุณสามารถเขียนคำแนะนำ SSI ในไฟล์ shtml เมื่อไคลเอนต์เข้าถึงไฟล์ SHTML เหล่านี้เซิร์ฟเวอร์จะอ่านและตีความไฟล์ SHTML เหล่านี้และตีความคำสั่ง SSI ที่มีอยู่ในไฟล์ SHTML
ประโยคสุดท้ายมีประโยชน์มากที่สุด เพื่อให้ง่าย SHTML ไม่ได้ดูแตกต่างจาก HTML บนพื้นผิวมากนัก แต่เมื่อเราใช้มันมันจะแตกต่างกัน ในความเข้าใจของเราเกี่ยวกับ SHTML เราสามารถรู้ได้ว่า SHTML สามารถใช้ <#include> เพื่อให้เราสามารถอ้างอิงรหัสโฆษณาของเราโดยตรงหรือสิ่งที่เราต้องการแนะนำ วิธีการใช้งานมีดังนี้:
ในช่วงกลางของเอกสารที่มี SHTML หรือ SHTM แทรกเครื่องหมายนี้ในตำแหน่งที่คุณต้องการแนะนำไฟล์ info.htm ฉันได้กล่าวถึงข้างต้นว่าฉันต้องการสร้างเว็บไซต์ใหม่ ทุกคนรู้ว่าเป็นการดีที่สุดที่จะสร้างแบบคงที่เพื่อลดการโหลดบนเซิร์ฟเวอร์ ไซต์ของฉันสร้างแบบคงที่เสมอ หลังจากที่เราใช้ SHTM เพื่อแนะนำโฆษณาสิ่งที่สำคัญที่สุดคือเราสามารถเพิ่มนวนิยายที่เราต้องการแนะนำใน info.htm ทุกคนรู้ว่าหากนวนิยายคือการเปลี่ยนเนื้อหาที่แนะนำของหน้าโดยไม่ต้องสร้างรหัสใหม่มันจะถูกใช้เพื่อใช้ JS เท่านั้น แต่แมงมุมของเครื่องมือค้นหาจะไม่สนใจเมื่อเขาพบ JS หากคุณใช้ JS เพื่อแนะนำเนื้อหาอาจไม่ดีนักสำหรับการเพิ่มประสิทธิภาพการค้นหา แต่ถ้าเราใช้ SHTM มันจะแตกต่างกัน เพราะคุณสามารถใช้คำแนะนำ SSI เพียงใช้รวมถึงการแนะนำ info.htm จากนั้นเขียนนวนิยายหรือข้อมูลอื่น ๆ ที่คุณต้องแนะนำโดยตรงใน info.htm ด้วยวิธีนี้ตราบใดที่มันเป็น SHTM และหน้าเว็บที่แนะนำ info.htm จะเปลี่ยนไปและเครื่องมือค้นหาจะยังคงรวบรวมข้อมูล มีเรื่องไร้สาระมากส่วนใหญ่เป็นเพราะฉันรู้สึกว่าสิ่งนี้ดีมากและสะดวกในการใช้งาน ดังนั้นฉันจึงคุยกันมานาน แต่จริง ๆ แล้วฉันบอกคนที่กำลังทำเว็บไซต์ใหม่ว่ามันเป็นตัวเลือกที่ดีถ้าคุณใช้ SHTM
ฉันไม่รู้ว่าฉันเขียนมากหรือไม่ คุณเข้าใจไหม
Apache เปิดใช้งาน shtml และแก้ไข srm.con: addtype text/x-server-parsed-html .shtml จะแยกวิเคราะห์คำแนะนำ SSI สำหรับไฟล์ที่มีส่วนขยาย. shtml เท่านั้น
ดูเหมือนว่าเซิร์ฟเวอร์ได้รับการสนับสนุนโดยค่าเริ่มต้น คุณจะต้องตั้งค่าไฟล์ที่รวมอยู่ในฝั่งเซิร์ฟเวอร์ในส่วนขยายบริการเว็บ IIS ตามที่อนุญาต
หากคุณต้องการรับข้อมูลเกี่ยวกับคำสั่ง HTML โปรดอ่านต่อ
รหัสโปรแกรม:
<! ---- ชื่อคำสั่ง = พารามิเตอร์คำสั่ง>
<! ---- ชื่อคำสั่ง = พารามิเตอร์คำสั่ง>
ตัวอย่างเช่นรหัสโปรแกรม:
<! -#รวมไฟล์ = info.htm–>
<! -#รวมไฟล์ = info.htm–>
ภาพประกอบ:
1. <!--> คือคำอธิบายประกอบในไวยากรณ์ HTML ข้อมูลนี้จะถูกละเว้นเมื่อเว็บเซิร์ฟเวอร์ไม่รองรับ SSI
2. #include เป็นหนึ่งในคำสั่ง SSI
3. ไฟล์เป็นพารามิเตอร์ของ INCLUDE, info.htm คือค่าพารามิเตอร์และหมายถึงชื่อเอกสารที่จะรวมอยู่ในคำสั่งนี้
สังเกต:
1. <!-ไม่มีช่องว่างระหว่างหมายเลข # มีเพียงคำแนะนำ SSI และพารามิเตอร์เท่านั้น
2. เครื่องหมายวรรคตอนข้างต้น = ไม่มีใครหายไป
3. คำแนะนำ SSI เป็นตัวพิมพ์เล็กที่มีความอ่อนไหวดังนั้นพารามิเตอร์จะต้องเป็นตัวพิมพ์เล็กในการทำงาน
คำอธิบายโดยละเอียดเกี่ยวกับการใช้คำแนะนำ SSI
#การสาธิต
ผล:
แทรกตัวแปรสภาพแวดล้อมลงในหน้า
ไวยากรณ์:
รหัสโปรแกรม:
<!-#echo var = ชื่อตัวแปร->
ชื่อของเอกสารนี้: รหัสโปรแกรม:
<!-#echo var = document_name->
เวลาปัจจุบัน: รหัสโปรแกรม:
<!-#echo var = date_local->
<!-#echo var = date_local->
ที่อยู่ IP ของคุณคือรหัสโปรแกรม:
<!-#echo var = remote_addr->
#การสาธิตรวม
ผล:
แทรกเนื้อหาของไฟล์ข้อความลงในหน้าเอกสารโดยตรง
ไวยากรณ์:
รหัสโปรแกรม:
<!-#รวมไฟล์ = ชื่อไฟล์->
<!-#รวม Virtual = ชื่อไฟล์->
ชื่อไฟล์ไฟล์เป็นพา ธ สัมพัทธ์ที่สัมพันธ์กับไดเรกทอรีที่เอกสารที่ใช้ #include Directive อยู่ ไฟล์ที่รวมอยู่ในไดเรกทอรีระดับเดียวกันหรือไดเรกทอรีย่อย แต่ไม่ได้อยู่ในไดเรกทอรีระดับก่อนหน้า หากเอกสาร nav_head.htm ในไดเรกทอรีปัจจุบันคือไฟล์ = nav_head.htm
ชื่อไฟล์เสมือนเป็นพา ธ แบบเต็มไปยังไดเรกทอรีเสมือนจริงบนเว็บไซต์ ถ้ามันหมายถึงไฟล์ nav_head.htm ในไดเรกทอรี hoyi ภายใต้ไดเรกทอรีรูทของเอกสารเซิร์ฟเวอร์; มันเป็นเสมือน =/hoyi/nav_head.htm
พารามิเตอร์:
ไฟล์ระบุตำแหน่งของไฟล์ที่มีความสัมพันธ์กับเอกสารนี้
เสมือนระบุตำแหน่งที่สัมพันธ์กับไดเรกทอรีรูทของเอกสารเซิร์ฟเวอร์
สังเกต:
1. ชื่อไฟล์ต้องมีส่วนขยาย
2. ไฟล์ที่รวมอยู่สามารถมีส่วนขยายไฟล์ใด ๆ ฉันคิดว่ามันสะดวกที่สุดในการใช้ส่วนขยาย HTM โดยตรง Microsoft แนะนำให้ใช้ส่วนขยาย. inc (ขึ้นอยู่กับงานอดิเรกของคุณ)
ตัวอย่าง:
รหัสโปรแกรม:
<!-#รวมไฟล์ = nav_head.htm-> แทรกไฟล์ส่วนหัวไปยังหน้าปัจจุบัน
<!-#รวมไฟล์ = nav_foot.htm-> แทรกไฟล์หางไปยังหน้าปัจจุบัน
#FlastMod และ #FSIZE การสาธิต
ฟังก์ชั่น: #flastmod ไฟล์วันที่อัปเดตล่าสุด
#FSIZE ความยาวไฟล์
ไวยากรณ์:
รหัสโปรแกรม:
<!-#flastmod file = ชื่อไฟล์->
<!-#fsize file = ชื่อไฟล์->
พารามิเตอร์:
ไฟล์ระบุตำแหน่งของไฟล์ที่มีอยู่สัมพันธ์กับเอกสารนี้เช่น info.txt ซึ่งแสดงถึงเอกสาร info.txt ในไดเรกทอรีปัจจุบัน
เสมือนระบุตำแหน่งที่สัมพันธ์กับไดเรกทอรีรูทของเอกสารเซิร์ฟเวอร์เช่น /hoyi/info.txt
สังเกต:
ชื่อไฟล์ต้องมีส่วนขยาย
ตัวอย่าง:
รหัสโปรแกรม:
<! -#flastmod file = news.htm–>
แทรกวันที่อัปเดตล่าสุดของไฟล์ news.htm ในไดเรกทอรีปัจจุบันลงในหน้าปัจจุบัน
รหัสโปรแกรม:
<! -#fsize file = news.htm–>
ป้อนขนาดไฟล์ของ news.htm ในไดเรกทอรีปัจจุบันลงในหน้าปัจจุบัน
#exec สาธิต
ผล:
แทรกเอาต์พุตของโปรแกรมภายนอกลงในหน้า สามารถแทรกลงในโปรแกรม CGI หรืออินพุตจากแอปพลิเคชันปกติขึ้นอยู่กับว่าพารามิเตอร์ที่ใช้คือ CMD หรือ CGI
ไวยากรณ์:
รหัสโปรแกรม:
<!-#exec cmd = ชื่อไฟล์->
<!-#exec cgi = ชื่อไฟล์->
พารามิเตอร์:
แอปพลิเคชันปกติของ CMD
โปรแกรมสคริปต์ CGI CGI
ตัวอย่าง:
รหัสโปรแกรม:
<!-#exec cmd = cat /etc /passwd-> จะแสดงไฟล์รหัสผ่าน
<!-#exec cmd = dir /b-> จะแสดงรายการไฟล์ในไดเรกทอรีปัจจุบัน
<!-#EXEC CGI =/CGI-BIN/GB.CGI-> โปรแกรม CGI GB.CGI จะถูกดำเนินการ
<!-#exec cgi =/cgi-bin/access_log.cgi-> โปรแกรม CGI access_log.cgi จะถูกดำเนินการ
สังเกต:
ดังที่เห็นได้จากตัวอย่างข้างต้นคำสั่งนี้ค่อนข้างสะดวก แต่ก็มีปัญหาด้านความปลอดภัย
วิธีการห้าม:
- Apache, ลบตัวเลือกรวมถึง ExecCGI Line ใน Access.conf;
- ใน IIS เพื่อปิดใช้งานคำสั่ง #EXEC คุณสามารถปรับเปลี่ยน metadatabase ssiexecdisable;
#config
ฟังก์ชั่น: ระบุรูปแบบของข้อความแสดงข้อผิดพลาดวันที่และขนาดไฟล์ที่ส่งคืนไปยังเบราว์เซอร์ไคลเอนต์
ไวยากรณ์:
รหัสโปรแกรม:
<!-#config errmsg = ข้อความแสดงข้อผิดพลาดที่กำหนดเอง->
<!-#config sizefmt = display unit->
<!-#config timefmt = display format->
พารามิเตอร์:
ERRMSG สามารถใช้ข้อความแสดงข้อผิดพลาดการดำเนินการ SSI ที่กำหนดเองได้ในแบบที่คุณต้องการ
วิธีการแสดงขนาดไฟล์ขนาดไฟล์ค่าเริ่มต้นคือวิธีไบต์ (ไบต์) สามารถเปลี่ยนเป็นวิธี kilobyte (ตัวย่อ)
วิธีการแสดงเวลา TIMEFMT แอตทริบิวต์การกำหนดค่าที่ยืดหยุ่นที่สุด
ตัวอย่าง: แสดงขนาดของไฟล์ที่ไม่มีอยู่จริง
รหัสโปรแกรม:
<! -#config errmsg = ข้อผิดพลาดการดำเนินการเซิร์ฟเวอร์โปรดติดต่อผู้ดูแลระบบ Achuan ขอบคุณ! -
<!-#fsize file = ไม่มี file.htm->
แสดงขนาดไฟล์เป็นกิโลไบต์
รหัสโปรแกรม:
<!-#config sizefmt = abbrev->
<! -#fsizefile = news.htm–>
แสดงเวลาในรูปแบบเวลาที่กำหนด
รหัสโปรแกรม:
<!-#config timefmt = %y ปี/ %m เดือน %d วันและสัปดาห์ %w ปักกิ่งเวลา %h: %m: %s, %y ปีได้ผ่าน %j วันวันนี้คือ %u สัปดาห์ของ %y ปี->
<!-#echo var = date_local-> แสดงให้เห็นว่าวันใดของสัปดาห์เดือนและเขตเวลาเป็นวันนี้
<!-#config timefmt = วันนี้ %a, %b, เขตเวลาเซิร์ฟเวอร์คือ %z, ใช่->
<!-#echo var = date_local->