อัปเดต: ปัญหา Drupal # 1796596 มุ่งมั่นตั้งแต่ Redirect 1.0-rc2 (มิถุนายน 2015) วิธีแก้ไขปัญหาที่ถูกต้องสำหรับปัญหานี้ในขณะนี้คือการปรับรุ่นเป็นโมดูล Redirect รุ่นเสถียรล่าสุดแล้วเรียกใช้การปรับปรุงฐานข้อมูล การเปลี่ยนเส้นทางแบบวงกลมใด ๆ ที่คุณมีจะได้รับการทำความสะอาดอย่างปลอดภัย
ปัญหานี้เกิดขึ้นเนื่องจากข้อบกพร่องในโมดูลการเปลี่ยนเส้นทาง คุณเรียกใช้งานโดยเปลี่ยน URL ของหน้า (หรืออาจเป็นเพียงชื่อเรื่องหากคุณกำลังใช้พา ธ โตโต้) จากนั้นเปลี่ยนกลับเป็นสิ่งที่เคยเป็น
ตัวอย่างเช่นสมมติว่าฉันมีหน้าชื่อ "บริษัท " และฉันเปลี่ยนชื่อเป็น "บริษัท ของเรา" (ซึ่งเปลี่ยนชื่อแทน URL เป็น บริษัท ของเรา) จากนั้นฉันก็ตัดสินใจว่าฉันชอบมันเป็นวิธีแรกดังนั้นฉันจึงแก้ไขโหนดอีกครั้งและเปลี่ยนชื่อกลับเป็น "บริษัท " ณ จุดนั้นข้อความแสดงข้อผิดพลาด " อุ๊ปดูเหมือนว่าคำขอนี้พยายามที่จะสร้างวงวนไม่สิ้นสุดเราไม่อนุญาตสิ่งต่าง ๆ ที่นี่เราเป็นเว็บไซต์มืออาชีพ! " จะเริ่มปรากฏบนหน้า บริษัท
มีสามวิธีในการแก้ไขปัญหานี้ขึ้นอยู่กับสิ่งที่ง่ายที่สุดสำหรับคุณ พวกเขามีช่วงความยากลำบาก / ความกล้าหาญจากบนลงล่าง
วิธี Drupal / PHP
มีข้อผิดพลาด Drupal ยาวในเรื่องที่เป็น: Issue # 1796596และมีดีแพทช์การทำงานที่การแก้ไขปัญหาในความคิดเห็น# 124
หวังว่าการแก้ไขนี้จะได้รับความมุ่งมั่นในโมดูล Redirect เพื่อดาวน์โหลด อย่างไรก็ตามเป็นเวลากว่าหนึ่งปีแล้วที่ไม่มีสัญญาณของความคืบหน้าใด ๆ
วิธีการ SQL
การแก้ไขที่เร็วที่สุดสำหรับปัญหานี้คือการสืบค้น SQL ไปยังฐานข้อมูลโดยมีลักษณะดังนี้ ระวังให้ดีและลองใช้วิธีนี้หากคุณรู้ว่าคุณกำลังทำอะไรอยู่ลองทำในสำเนาของเว็บไซต์ก่อนและตรวจสอบให้แน่ใจว่าคุณมีข้อมูลสำรองและทดสอบการเปลี่ยนแปลงในภายหลังในกรณีที่คุณต้องการย้อนกลับ ระมัดระวังเป็นพิเศษและทดสอบคิวรีแรกให้ดียิ่งขึ้นหากคุณใช้ i18n ... เรียกใช้คิวรีแรกเพื่อแสดงสิ่งที่จะถูกลบและอันที่สองทำการลบจริง
--Show records to be deleted:
SELECT r.rid, r.language, r.source, r.redirect
FROM redirect r INNER JOIN url_alias u ON r.source = u.alias
AND r.redirect = u.source AND r.language = u.language;
--Delete redirects shown in above query:
DELETE r FROM redirect r INNER JOIN url_alias u ON r.source = u.alias
AND r.redirect = u.source AND r.language = u.language;
หากคุณไม่ทราบวิธีการใช้โปรแกรมแก้ไขหรือเรียกใช้แบบสอบถาม SQL คุณต้องแก้ไขปัญหาด้วยตนเอง ไม่ต้องกังวลนี่เป็นเรื่องง่ายที่จะทำ (แต่ใช้เวลานานเมื่อเทียบกับวิธีอื่น):
คู่มือวิธีการ:
สำหรับแต่ละหน้าที่มีข้อความเตือนปรากฏขึ้น:
- แก้ไขหน้า
- เลื่อนไปที่ด้านล่างของแบบฟอร์มแก้ไข
- จดบันทึก URL หลักของหน้า มันจะแสดงอยู่ใต้ "การตั้งค่าเส้นทาง URL" เช่น "นามแฝง: บริษัท " จะหมายถึง URL ของหน้านี้คือ "บริษัท " คุณสามารถคลิกที่ "การตั้งค่าเส้นทาง URL" เพื่อไปที่ส่วนและยืนยันนามแฝง URL หากคุณไม่แน่ใจ
- ตอนนี้คลิก "การเปลี่ยนเส้นทาง URL" การเปลี่ยนเส้นทางไปยังหน้าปัจจุบันจะปรากฏขึ้น จะมีการเปลี่ยนเส้นทางอย่างน้อยหนึ่งครั้งที่เหมือนกับชื่อแทน URL ที่คุณระบุไว้ในขั้นตอนที่ 3 เป็นไปได้ที่จะมีการเปลี่ยนเส้นทางมากกว่าหนึ่งรายการในรายการนี้จะตรงกับชื่อแทน URL
- ลบการเปลี่ยนเส้นทางทั้งหมดที่เหมือนกับ URL แทน นี่เป็นข้อมูลปัญหาที่ทำให้ลูปและข้อความแสดงข้อผิดพลาดปรากฏขึ้น
- เมื่อไม่มีการเปลี่ยนเส้นทางภายใต้ "การเปลี่ยนเส้นทาง URL" ที่ตรงกับชื่อแทน URL ของหน้าปัญหาภายใต้การตั้งค่าเส้นทาง URL ข้อความผิดพลาดจะหายไป