โปรแกรม Z-Blog ได้รับการพัฒนาโดยใช้สภาพแวดล้อม IIS+asp ตามทฤษฎีแล้ว ไม่สามารถทำงานในสภาพแวดล้อม Apache+php+MySQL ได้ อย่างไรก็ตาม บางครั้งเนื่องจากสถานการณ์บางอย่าง จำเป็นต้องย้าย Z-Blog ไปยังแพลตฟอร์ม Apache ชั่วคราว บทความนี้จะอธิบายรูปแบบการโยกย้ายที่เฉพาะเจาะจง
แนวคิดของการย้ายข้อมูลคือการทำให้ Z-Blog ทั้งหมดคงที่ และใช้โค้ด PHP เพื่อโทรกลับที่อยู่บนเซิร์ฟเวอร์ ASP สำหรับส่วนไดนามิก ฐานข้อมูลยังคงอยู่บนเซิร์ฟเวอร์ ASP โดยใช้ชื่อโดเมนคู่ และใช้เครื่องมือ FTP เพื่อถ่ายโอนที่อยู่ในเซิร์ฟเวอร์ ASP
ระบบ Z-Blog จำเป็นต้องใช้ "ปลั๊กอินการสร้างหน้าแรกแบบคงที่" เพื่อให้หน้าแรกและหน้าบทความใช้ไฟล์ HTML แบบคงที่แต่เดิมหน้าหมวดหมู่และหน้าแท็กเป็นแบบไดนามิก ซึ่งทำให้แก้ไขได้ยาก จำเป็นต้องแก้ไขซอร์สโค้ด
วิธีแก้ไขคือสร้างไดเร็กทอรี cat ก่อน คัดลอกไฟล์ Catalog.asp ในไดเร็กทอรีราก เปลี่ยนเป็น default.asp และแก้ไขเส้นทางรวมภายใน
ถัดไป แก้ไขไฟล์ c_system_base.asp, c_system_event.asp, c_system_lib.asp ในไดเร็กทอรี FUNCTION ค้นหาและแทนที่ "catalog.asp" ด้วย "cat/" เพื่อให้หน้าแค็ตตาล็อกและหน้าหมวดหมู่จะเรียกไดเร็กทอรี cat แทน ไฟล์ asp
หลังจากนั้น FTP HTML ทั้งหมดไปยังโฮสต์ Apache สำหรับไดเร็กทอรี cat ให้สร้างไฟล์ index.php โดยมีเนื้อหาดังต่อไปนี้:
<?php
$qstring = isset($_SERVER["QUERY_STRING"]) ? $_SERVER["QUERY_STRING"] : "";
$url = " http://www.williamlong.info/cat/?".$qstring ;
$file=file_get_contents($url);
เสียงสะท้อน $ ไฟล์;
-
ด้วยวิธีนี้ การเรียกไปยังหน้าไดเร็กทอรีและหน้าหมวดหมู่จะจับไฟล์บนเซิร์ฟเวอร์ ASP ดั้งเดิมโดยอัตโนมัติ
สุดท้าย แก้ไขไฟล์ .htaccess บนเซิร์ฟเวอร์ Apache โดยมีเนื้อหาดังต่อไปนี้:
เขียนใหม่EngineOn
เขียนใหม่ฐาน/
RewriteRule ^upload/(.*)$ http://www.williamlong.info/upload/$1 [R=301,L]
RewriteRule ^download/(.*)$ http://www.williamlong.info/download/$1 [R=301,L]
RewriteRule ^function/(.*)$ http://www.williamlong.info/function/$1 [R=301,L,QSA]
หลังจากการประมวลผลดังกล่าวแล้ว ยังสามารถเรียกดูบล็อกที่สร้างโดย Z-Blog ในสภาพแวดล้อม Apache ได้
อย่างไรก็ตาม ยังคงมีปัญหาอยู่บ้าง ส่วนใหญ่ได้แก่: ไม่สามารถใช้ฟังก์ชันแสดงความคิดเห็นได้ (การใช้ปลั๊กอินอื่นเพียงอย่างเดียวแทบจะไม่สามารถรองรับความคิดเห็นได้) ไม่สามารถแสดงเนื้อหาที่โหลดแบบไดนามิกในแถบด้านข้างได้ ไม่สามารถนับจำนวนการดูบทความได้ ปลั๊กอินการให้คะแนนไม่ถูกต้อง และการอัพเดตจะยุ่งยากมากขึ้น
วิธีการอัปเดตบล็อกในปัจจุบันคือการแก้ไขไฟล์โฮสต์ ชี้ชื่อโดเมน Z-Blog ไปที่เซิร์ฟเวอร์ ASP ดั้งเดิมอีกครั้ง เพิ่มบทความ จากนั้น FTP ไปที่เซิร์ฟเวอร์ Apache เดิมที ฉันคิดว่าจะติดตั้ง Dropbox บนเซิร์ฟเวอร์ทั้งสองที่ ในเวลาเดียวกันเพื่อให้บรรลุการซิงโครไนซ์ แต่ภายหลังพบว่าโฮสต์เสมือนต่างประเทศบางแห่งเริ่มห้ามการใช้งาน Dropbox บนโฮสต์ ระบบของพวกเขาจะตรวจจับกระบวนการ Dropbox โดยอัตโนมัติและส่งอีเมลเพื่อเตือนผู้ใช้โดยบอกว่าการเรียกใช้โปรแกรมนี้ละเมิดนโยบายของพวกเขาและกำหนดให้ กระบวนการที่จะหยุด ดังนั้นพวกเขาสามารถพิจารณาใช้วิธี FTP อัตโนมัติเพื่อให้เกิดการซิงโครไนซ์เท่านั้น