เปลี่ยนเส้นทาง WordPress ในส่วนหัว

การเปลี่ยนเส้นทางส่วนหัวของ WordPress

พื้นที่ ปลั๊กอินการเปลี่ยนเส้นทาง สร้างขึ้นสำหรับ WordPress เป็นวิธีการที่ยอดเยี่ยมในการจัดระเบียบและจัดการการเปลี่ยนเส้นทาง ฉันใช้เว็บไซต์นี้และได้จัดกลุ่มการเปลี่ยนเส้นทางสำหรับโพสต์ที่อัปเดตลิงก์พันธมิตรการดาวน์โหลด ฯลฯ

อย่างไรก็ตามฉันพบปัญหาเฉพาะที่ฉันมีการตั้งค่าพร็อกซีย้อนกลับสำหรับไคลเอนต์ที่ WordPress กำลังทำงานที่เส้นทาง ... แต่ไม่ใช่รากของไซต์ ไซต์หลักกำลังทำงานบน IIS ใน Azure IIS สามารถจัดการการเปลี่ยนเส้นทางได้เช่นเดียวกับที่เว็บเซิร์ฟเวอร์ใด ๆ สามารถทำได้ แต่ปัญหาคือไคลเอนต์นี้จะต้องนำการจัดการการเปลี่ยนเส้นทางไปใช้ในกระบวนการพัฒนาของตนและพวกเขาก็ยุ่งอยู่แล้ว

ปัญหาคือการเปลี่ยนเส้นทางรูปแบบ. htaccess โดยทั่วไปไม่เป็นไปได้…เราต้องเขียนการเปลี่ยนเส้นทางด้วย PHP จริงๆ ในการแก้ปัญหาเรากำหนดเส้นทางคำขอไปยัง WordPress เพื่อระบุว่ามีการเปลี่ยนเส้นทางบนเส้นทางเก่าหรือไม่

ภายใน header.php ไฟล์ของธีมลูกของเราเรามีฟังก์ชั่น:

function my_redirect ($oldlink, $newlink, $redirecttype = 301) {
	$olduri = $_SERVER['REQUEST_URI'];
	if(strpos($olduri, $oldlink) !== false) {
		$newuri = str_replace($oldlink, $newlink, $olduri);
		wp_redirect( $newuri, $redirecttype );
		exit;
	}
}

เราไม่ต้องกังวลกับการใส่ฟังก์ชันใน functions.php เพียงเพราะมันจะส่งผลกระทบต่อไฟล์ส่วนหัวเท่านั้น จากนั้นภายในไฟล์ header.php เรามีรายการการเปลี่ยนเส้นทางทั้งหมด:

my_redirect('lesson_plans', 'lesson-plan');
my_redirect('resources/lesson-plans/26351', 'lesson-plan/tints-and-shades');
my_redirect('about/about', 'about/company/');

ด้วยฟังก์ชันดังกล่าวคุณยังสามารถระบุประเภทของการเปลี่ยนเส้นทางที่คุณต้องการตั้งค่าคำขอส่วนหัวได้เราเพิ่งกำหนดค่าเริ่มต้นเป็นการเปลี่ยนเส้นทาง 301 เพื่อให้เครื่องมือค้นหายอมรับ

คุณคิดอย่างไร?

ไซต์นี้ใช้ Akismet เพื่อลดสแปม เรียนรู้วิธีการประมวลผลข้อมูลความคิดเห็นของคุณ.