إعادة توجيه 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;
	}
}

لم نكن عناء وضع الوظيفة في function.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 لتقليل الرسائل الضارة. تعرف كيف تتم معالجة بيانات تعليقك.