สรุปก่อน!
ในปัจจุบัน FinchUI เว็บไซต์หลายภาษาในกระบวนการประมวลผลของปลั๊กอินและ Z-BlogPHP หน้า 404 ที่มาพร้อมกับธีมจะไม่เรียกใช้อินเทอร์เฟซการแปลด้วยเครื่องของบุคคลที่สามและจะไม่ใช้โควตาการแปล

1. หน้าธีม 404 จะปรากฏขึ้นภายใต้สถานการณ์ใด
เมื่อไม่มีที่อยู่เว็บไซต์ที่เข้าชมและเซิร์ฟเวอร์ส่งต่อคำขอไปยังการประมวลผล index.php ของ Z-BlogPHP Z-BlogPHP จะเข้าสู่กระบวนการจับคู่การกำหนดเส้นทาง หากไม่มีการจับคู่การกำหนดเส้นทางสำเร็จระบบจะตั้งค่าสถานะ HTTP 404 และแสดง template / 404.php ของหัวข้อปัจจุบัน
ดังนั้นไม่ว่าจะเป็นที่อยู่บทความที่อยู่หมวดหมู่หรือโดยพลการเ ป็ น เ รื่ อ งพา ธ ตราบใดที่ Z-BlogPHP เข้าครอบครองและแสดงธีม 404 ในที่สุดจะใช้เทมเพลต 404 ของธีม
2. ขั้นตอนการแปลปลั๊กอินหลายภาษาในหน้าปกติ
ในระหว่างการประมวลผลหน้าปกติ ปลั๊กอินจะเปิดบัฟเฟอร์เอาต์พุตที่จุดเริ่มต้นของหน้า หลังจากเอาต์พุตเทมเพลตหน้า ธีม และปลั๊กอินอื่น ๆ เสร็จสมบูรณ์ จะได้รับ HTML ทั้งหมดที่ส่วนท้ายของหน้าสำหรับการเขียนลิงก์ใหม่ การประมวลผลเครื่องหมายภาษา และการแปลข้อความด้วยเครื่อง
正常页面:
Index_Begin → 开启输出缓冲 → 路由与模板输出 → Index_End → 处理 HTML → 必要时请求翻译接口ปลั๊กอินจะประมวลผล HTML เฉพาะเมื่อดำเนินการจนถึงจุดสิ้นสุดของหน้า และเฉพาะข้อความที่ไม่ใช่ภาษาเริ่มต้น การถ่ายโอนร่วมกันที่ไม่ซับซ้อน บริการแปลภาษาที่เปิดใช้งาน และแคชในเครื่องที่พลาดไปเท่านั้นที่จะร้องขออินเทอร์เฟซการแปลของบุคคลที่สาม
3.ทำไมแปลหน้า 404 ไม่ได้
404 ได้รับการจัดการแตกต่างจากหน้าปกติ หลังจากไม่สามารถจับคู่เส้นทางได้ Z-BlogPHP จะเข้าสู่ตัวประมวลผลข้อผิดพลาดโหลดเทมเพลต 404 ของธีมและสิ้นสุดคำขอ PHP นี้ทันที
404 页面:
Index_Begin → 开启输出缓冲 → 路由未匹配 → 输出主题 404 模板 → 结束请求
不会进入:Index_End → HTML 翻译处理 → 翻译接口请求แม้ว่าเทมเพลต Theme 404 จะส่งออกข้อความเช่น "ไม่มีหน้า" และ "กลับไปที่หน้าแรก" ข้อความเหล่านี้จะไม่เข้าสู่ขั้นตอนการประมวลผลการแปลข้อความของปลั๊กอินหลายภาษา เมื่อสิ้นสุดคำขอ PHP จะปล่อยเนื้อหาบัฟเฟอร์เอาต์พุตที่มีอยู่โดยตรงเท่านั้นและจะไม่ดำเนินการประมวลผลการแปลที่ลงทะเบียนโดยปลั๊กอินในขั้นตอนการสิ้นสุดหน้าปกติ
IV แหล่งที่มาของการเขียนคำโฆษณา 404 สำหรับธีม FinchUI Store
ใช้ธีม FinchUI Store เป็นตัวอย่าง template / 404.php ใช้ตัวแปรแพ็คเกจภาษาท้องถิ่นของธีมเช่น:
{$language['404title']}
{$language['404loading']}
{$language['404home']}
{$language['404goback']}
{$language['404tips']}เนื้อหาเหล่านี้มาจากอาร์เรย์ภาษาของตัวแบบเอง และไม่ได้รับแบบเรียลไทม์ผ่านอินเทอร์เฟซการแปลออนไลน์ เช่น DeepL Google Volcano Engine Tencent Cloud Alibaba Cloud Baidu และ Youdao ดังนั้นจึงไม่มีค่าบริการแปลเอง
V. คำขอสองประเภทที่ต้องแยกความแตกต่าง
| ประเภทคำขอ | จะใช้ธีม 404 หรือไม่ | ใช้โควต้าการแปลหรือไม่ |
|---|---|---|
| เซิร์ฟเวอร์ส่งคืนแบบคงที่ 404 โดยตรง | ไม่ | ไม่ ทั้ง PHP และปลั๊กอินจะไม่ทำงาน |
| การกำหนดเส้นทาง Z-BlogPHP ล้มเหลวแสดงหัวข้อ 404 | ใช่ ใช่ | ไม่ คำขอสิ้นสุดหลังจากเอาต์พุต 404 และไม่ได้เข้าสู่การประมวลผลการแปล |
| หน้า 404 จะกระโดดโดยอัตโนมัติหรือคำขอหน้าแรกใหม่ที่สร้างขึ้นหลังจากผู้ใช้คลิกเพื่อกลับไปที่หน้าแรก | ไม่สามารถใช้ได้ | หน้าแรกได้รับการจัดการตามกฎปกติ แคชเฉพาะข้อความที่ไม่ได้รับการแปลเท่านั้นที่อาจร้องขออินเทอร์เฟซ |
6. วิธีการตรวจสอบตนเอง
- ล้างแคชการแปลในพื้นหลังปลั๊กอินและบันทึกการใช้พื้นหลังของผู้ให้บริการแปล
- เข้าถึงที่อยู่ภาษาที่ไม่ใช่ค่าเริ่มต้นหลายรายการที่ไม่มีอยู่อย่างต่อเนื่องเช่น / en / not - พบ - a / en / not - พบ - b
- ตรวจสอบว่า zb_user/cache/fui_multilang/en/ เพิ่มไฟล์แคชการแปล JSON ใหม่หรือไม่
- ตรวจสอบจำนวนคำขอหรือการใช้อักขระในพื้นหลังของผู้ให้บริการแปลอีกครั้ง
ผลลัพธ์ที่คาดหวัง: การเข้าถึงเฉพาะหน้า Theme 404 จะไม่เพิ่มแคช JSON การแปลข้อความใหม่ และจะไม่เพิ่มปริมาณของผู้ให้บริการแปล
หมายเหตุ: หากหน้า 404 ได้รับการกำหนดค่าให้กลับไปที่หน้าแรกโดยอัตโนมัติแมงมุมหรือผู้เยี่ยมชมจะขอให้หน้าแรกเป็นคำขอแบบสแตนด์อโลน คำขอหน้าแรกควรนับแยกต่างหากจากคำขอ 404 ดั้งเดิม





เพิ่มบริการลูกค้า qq
ความคิดเห็นของชาวเน็ต