जबकि अन्य उत्तर के सभी काम चाहते हो सकता है, वे सब एक बड़ी समस्या है: यह करने के लिए ब्राउज़र पर निर्भर है तय करें कि अगर उन्हें कोई स्थान शीर्षलेख मिलता है तो क्या करना है। आम तौर पर ब्राउज़र अनुरोध को संसाधित करना बंद कर देता है और स्थान शीर्षलेख के साथ इंगित यूआरआई को रीडायरेक्ट करता है। लेकिन एक दुर्भावनापूर्ण उपयोगकर्ता केवल स्थान शीर्षलेख को अनदेखा कर सकता है और उसका अनुरोध जारी रख सकता है। इसके अलावा अन्य चीजें भी हो सकती हैं जो php दुभाषिया को स्थान शीर्षलेख के पीछे स्क्रिप्ट का मूल्यांकन जारी रखने का कारण बनती हैं, जो आपके इरादे से नहीं है।
छवि इस:
<?php
if (!logged_id()) {
header("Location:login.php");
}
delete_everything();
?>
क्या आप चाहते हैं और उम्मीद है कि लॉगिन नहीं उन प्रवेश पृष्ठ पर पुनः निर्देशित कर रहे हैं, ताकि केवल उन में लॉग इन delete_everything कर सकते हैं। लेकिन अगर स्क्रिप्ट को स्थान शीर्षलेख से पहले निष्पादित किया जाता है तो भी सबकुछ हटा दिया जाता है। इस प्रकार, यह हमेशा के बाद एक स्थान हैडर एक बाहर निकलने डाल करने के लिए, इस तरह आयात है:
<?php
if (!logged_id()) {
header("Location:login.php");
exit; // <- don't forget this!
}
delete_everything();
?>
तो, आपके सवाल का जवाब देना: (न सिर्फ php एक php पेज से दूसरे पेज पर रीडायरेक्ट करने, आप कर सकते हैं किसी भी पृष्ठ इस तरह से) पर पुन: निर्देशित, इस का उपयोग करें:
<?php
header("Location:http://www.example.com/some_page.php");
exit; // <- don't forget this!
?>
छोटे नोट: HTTP मानक कहता है कि आप स्थान शीर्षक में संपूर्ण URL (http प्रदान करनी चाहिए: // ... की तरह ऊपर मेरी उदाहरण में) भी अगर आप एक ही डोमेन पर दूसरी फाइल पर रीडायरेक्ट करना चाहते हैं। लेकिन व्यावहारिक यूआरएल (स्थान: some_page.php) सभी ब्राउज़रों में काम करते हैं, हालांकि मानक अनुपालन नहीं है।
स्रोत
2012-03-06 10:28:08
उत्तर के लिए धन्यवाद ..... – arunrc
ध्यान दें कि यदि आप किसी अन्य वेबसाइट से लिंक करना चाहते हैं तो आपको www के सामने http: // को काम करने के लिए रखना होगा। –
@ निश्चित रूप से रिकॉइंग। यह तुच्छ है। आपको प्रोटोकॉल निर्दिष्ट करना चाहिए ताकि यूआरएल मान्य हो। – Juvanis