आप यदि वेबमास्टर हैं तो संभव है आपके साथ कभी ऐसा हुआ हो कि आपकी किसी फाइल का नाम ऐसा हो जिससे आपका मकसद पूरा नहीं होता हो या आपको फाइल ट्री को रीनेम करने की जरूरत हो. यदि ऐसा है तो ये अपेक्षाकृत अापकी साइट के अंदर जाकर बदलना आसान है. हालांकि दूसरे साइटों में कोई भी बाहरी लिंक बदलना कहीं ज्यादा मुश्किल है.
पेज का लोकेशन बदलते वक्त, सर्च इंजन कई बार यूजर्स को गलत ऐड्रेस भेज देता है. कई बार तो इससे भी बुरा होता है, और पेज का SEO पूरी तरह रीसेट हो जाता है. गनीमत है कि इसका एक आसान समाधान है. ये समाधान नेविगेशनल स्थिरता और आपकी साइट के SEO को बनाए रखने के लिए redirections का इस्तेमाल करता है, चाहे सारी फाइलें कहीं और मूव हो गई हों.
विजिटर को किसी दूसरे पेज (कंडीशनल लूप में खासतौर से उपयोगी) पर रीडायरेक्ट करने के लिए बस आपको आगे दिए गए कोड का इस्तेमाल करना है:
<?php
header('Location: mypage.php');
?>
ऐसे में mypage.php उस पेज का ऐड्रेस है जिस पर आप विजिटर को रीडायरेक्ट करना चाहते हैं. ये ऐड्रेस पूरा हो सकता है और हो सकता है कि इसमें इस फॉरमैट में पैरामीटर शामिल हों: mypage.php?param1=val1¶m2=val2).
जब आपको Relative या Absolute paths से निपटना हो तो ये अच्छा होगा कि आप सर्वर, (DOCUMENT_ROOT) के रूट से ऐब्सोल्यूट पाथ को चुनें. इसके लिए आगे दिया गया फॉरमैट चुनें:
<?php
header('Location: /directory/mypage.php');
?>
यदि कभी भी दूसरे सर्वर पर टारगेट पेज हो, आपको फुल URL शामिल करना चाहिए:
<?php
header('Location: https://in.ccm.net/forum/
?>
HTTP प्रोटोकॉल के मुताबिक, HTTP हेडर को किसी भी कंटेन्ट के पहले भेजा जाना चाहिए. इसका मतलब ये हुआ कि कोई भी कैरेक्टर हेडर के पहले, यहां तक कि खाली स्पेस के पहले नहीं भेजा जाना चाहिए!
अधिक जानकारी के लिए, कैसे हेडर भेजें, इस बारे में हमारा आर्टिकल पढ़ें.
डिफॉल्ट रूप से ऊपर मौजूद redirection का प्रकार temporary है. इसका मतलब ये है कि गूगल जैसे सर्च इंजन इंडेक्सिंग के वक्त रीडायरेक्शन को लेकर कोई सक्रियता नहीं दिखाएगा.
यदि आप सर्च इंजन को ये नोटिफाई करना चाहते हैं कि वो पेज स्थायी रूप से दूसरी जगह पर ले जाया गया है, तो आगे दिए गए कोड का इस्तेमाल करें:
<?
header('Status: 301 Moved Permanently', false, 301);
header('Location: new_address');
?>
उदाहरण के लिए, इस पेज में आगे दिया गया कोड है:
<?
header('Status: 301 Moved Permanently', false, 301);
header('Location: /pc/imprimante.php3');
exit();
?>
जब आप ऊपर दिए गए लिंक को क्लिक करते हैं तो आप इस पेज पर अपने आप रीडायरेक्ट हो जाते हैं. इसके अलावा, यह ये स्थायी रीडायरेक्शन है (Status: 301 स्थायी रूप से मूव किया गया). इसलिए जब आप गूगल में पहला URL टाइप करते हैं, आप अपने आप दूसरे रीडायरेक्टेड लिंक पर रीडायरेक्ट कर दिए जाते हैं.
उस हेडर() के बाद स्थित PHP कोड की व्याख्या सर्वर करेगा, भले विजिटर रीडायरेक्शन में बताए गए ऐड्रेस पर चला जाए. अधिकांश मामलों में, इसका मतलब ये होता है कि आपको सर्वर का लोड कम करने के लिए exit() फंक्शन के हेडर() को फॉलो करने के लिए एक विधि की जरूरत होती है:
<?
header('Status: 301 Moved Permanently', false, 301);
header('Location: address');
exit();
?>
Photo: © Arian Darvishi - Unsplash.com