WordPress को Header में Redirect करें
RSI पुनर्निर्देशन प्लगइन वर्डप्रेस के लिए बनाया गया रीडायरेक्ट को व्यवस्थित और प्रबंधित करने का एक शानदार साधन है। मैं इस साइट पर इसका उपयोग करता हूं और अद्यतन पोस्ट, सहबद्ध लिंक, डाउनलोड आदि के लिए अपने समूहों को पुनर्निर्देशित किया है।
हालाँकि, मैं एक अनोखी समस्या में भाग गया जहाँ मेरे पास एक क्लाइंट के लिए रिवर्स प्रॉक्सी सेट है जहाँ वर्डप्रेस एक रास्ते पर चल रहा है ... लेकिन साइट की जड़ नहीं। प्राथमिक साइट Azure में IIS पर चल रही है। IIS किसी भी वेब सर्वर के रूप में पुनर्निर्देशित कर सकता है, लेकिन समस्या यह है कि इस ग्राहक को अपनी विकास प्रक्रिया में पुनर्निर्देशन प्रबंधन की आवश्यकता होगी - और वे पहले से ही व्यस्त हैं।
समस्या यह है कि एक विशिष्ट .htaccess शैली पुनर्निर्देशित होने की संभावना नहीं है ... हमें वास्तव में PHP में रीडायरेक्ट लिखना होगा। समाधान के रूप में, हम वर्डप्रेस के अनुरोधों को पहचानने के लिए रूट करते हैं कि क्या पुराने रास्तों पर कोई रीडायरेक्ट हैं।
के अंदर 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;
}
}
हम फ़ंक्शन को फ़ंक्शन में डालकर परेशान नहीं करते हैं। केवल इसलिए कि यह केवल हेडर फ़ाइल को प्रभावित करेगा। फिर, 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 रीडायरेक्ट पर डिफ़ॉल्ट कर दिया है ताकि खोज इंजन इसका सम्मान करेंगे।