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