คุณสามารถดูลิงก์ถาวรที่ท้ายหน้าอ่านบันทึกของบล็อกได้ ลิงก์นี้มักจะใช้งานได้ยาวนาน แม้ว่าโปรแกรมบล็อกจะมีการเปลี่ยนแปลง คุณสามารถใช้ลิงก์นี้เพื่อเข้าถึงบันทึกต้นฉบับได้โดยไม่มีปัญหาในการพบ สถานการณ์หน้านี้เป็นฟังก์ชันที่เป็นประโยชน์สำหรับบล็อก
เมื่อแก้ไขโปรแกรมบล็อก ฉันก็พิจารณาปัญหานี้ด้วยและตัดสินใจเพิ่มฟังก์ชันลิงก์ถาวรลงในบันทึกของบล็อก
ใน IIS6 หากมีการร้องขอไดเรกทอรีตามด้วยพารามิเตอร์ พารามิเตอร์นี้จะถูกส่งไปยังเอกสารเริ่มต้น นั่นคือถ้าฉันขอหน้าแรกของบล็อก http://www.xujiwei.cn/blog/?id=500 แล้ว id=500 จะถูกส่งผ่านไปยังเอกสารเริ่มต้น default.asp คุณสามารถใช้สิ่งนี้เพื่อสร้างลิงก์ถาวรไปยังบันทึกของบล็อก แน่นอนว่าลิงก์ถาวรนี้จะถูกสร้างขึ้นเมื่อไดเร็กทอรีของบล็อกไม่เปลี่ยนแปลง หากไดเร็กทอรีมีการเปลี่ยนแปลง จำเป็นต้องมีการประมวลผลเพิ่มเติม
Response.Redirect สามารถใช้ใน ASP ได้ หลักการคือเซิร์ฟเวอร์ส่งการตอบสนอง 302 Object Moved ไปยังไคลเอนต์ จากนั้นไคลเอ็นต์จะทำการเปลี่ยนเส้นทางตามการตอบสนอง อย่างไรก็ตาม สิ่งนี้จะเพิ่มโอเวอร์เฮดแบนด์วิธเพิ่มเติมและไม่ใช้การค้นหา เอ็นจิ้นที่จะรวมไว้ ดังนั้นจึงแนะนำให้ใช้ Server.Transfer เพื่อเปลี่ยนเส้นทาง Server.Transfer จะหยุดการทำงานของสคริปต์ปัจจุบันโดยตรงและเรียกใช้งานสคริปต์ที่ระบุแทน และตัวแปรปัจจุบันบางตัว เช่น เซสชันสามารถใช้ได้โดยตรงในสคริปต์ใหม่โดยไม่ต้องส่งพารามิเตอร์อีกครั้ง ในขณะที่ Response.Redirect ไม่สามารถทำได้
ข้อแตกต่างที่ชัดเจนอีกประการระหว่างสองวิธีคือ URL ที่แสดงโดยไคลเอนต์จะเปลี่ยนเมื่อใช้ Response.Redirect แต่จะไม่เปลี่ยนแปลงเมื่อใช้ Server.Transfer เมื่อใช้ Server.Transfer ไคลเอนต์จะไม่รู้สึกว่า URL ปัจจุบันมีการเปลี่ยนแปลงจริง ๆ ในความเป็นจริง ความแตกต่างนี้สามารถเห็นได้ผ่านวิธีการเรียกของทั้งสองวิธี หนึ่งคือ Response.Redirect มีการเปลี่ยนแปลงโดยไคลเอ็นต์ ในขณะที่ Server.Transfer มีการเปลี่ยนแปลงโดยเซิร์ฟเวอร์
หลังจากทำความเข้าใจสิ่งเหล่านี้แล้ว คุณสามารถเริ่มต้นได้ เปิดเอกสารเริ่มต้นของบล็อก ซึ่งโดยปกติจะเป็นหน้าแรกของโปรแกรมบล็อก เช่น default.asp, index.asp ฯลฯ จากนั้นเพิ่มโค้ดต่อไปนี้ก่อนเนื้อหาเอาต์พุต:
<%IF Request.QueryString ("id") จากนั้น Server.Transfer("article.asp")%>
แน่นอนว่าจำเป็นต้องเปลี่ยน article.asp ตามโปรแกรมบล็อก รหัสคือพารามิเตอร์ที่จะใช้เป็นลิงก์ถาวร ควรสังเกตว่าพารามิเตอร์นี้ต้องได้รับการยอมรับจาก article.asp นั่นคือบทความ asp สามารถใช้พารามิเตอร์นี้เพื่อแสดงบันทึก หากไม่มี คุณจะต้องทำการเปลี่ยนแปลงที่เกี่ยวข้อง นั่นคือ เปลี่ยนชื่อพารามิเตอร์ใน article.asp เป็น id หรือเปลี่ยน id เป็นชื่ออื่น
ตกลง เสร็จแล้ว! จริงๆ แล้ว สิ่งนี้ง่ายมาก บทความยาวๆ แบบนี้ส่วนใหญ่ไร้สาระ และสิ่งเดียวที่มีประโยชน์จริงๆ ก็คือประโยคของโค้ด
ข้อความต้นฉบับ: http://www.xujiwei.cn/blog/?id=647