2012-05-10 18 views
21

क्या यह संबंधित स्थान HTML शीर्षलेख सभी प्लेटफ़ॉर्म पर सभी ब्राउज़रों के साथ बिल्कुल संगत है? कोई मानदंड?शीर्षलेख स्थान सापेक्ष पथ संगतता

Location: some_script.php?la=2&po=2030 

मेरा मतलब है, क्या यह हमेशा वर्तमान dir पर some_script.php पर रीडायरेक्ट करेगा या नहीं?

+0

के रूप में यह पीएचपी है, ब्राउज़र भी शीर्ष लेख के बारे में पता नहीं होगा, यह सिर्फ यह देखता है पुनर्निर्देशित किया जा रहा है, क्योंकि सर्वर पर PHP निष्पादित किया गया है। – 11684

+3

@ 11684: ग्राहक का ब्राउज़र बिल्कुल एक स्थान शीर्षलेख प्राप्त करेगा। आप कैसे सोचते हैं कि यह अपना स्थान बदलने का फैसला करता है? – webbiedave

+1

@ 11684 आपका गलत। PHP सर्वर पर निष्पादित किया गया है, हां। लेकिन PHP ब्राउज़र (क्लाइंट) को हेडर भेजता है और क्लाइंट जो कुछ भी चाहता है उसे करता है। –

उत्तर

17

मानक इस होगा:

header('Location: http://www.mywebsite.com/yourpage.php?id=32', TRUE, 302); 

लेकिन आपके सवाल का जवाब देने के लिए, हाँ यह पेज एक्स के लिए वर्तमान फ़ोल्डर में रीडायरेक्ट करेगा अगर आप पहले या एक पूरा URL पर एक स्लेश न रखें।

यहां एक विचार है कि मैं सुझाव दूंगा कि आप जो भी वेबसाइट करते हैं, उसके लिए आप करेंगे। अपनी प्राथमिक फ़ाइल (आप config या जो कुछ भी तरह का उपयोग मुख्य php फ़ाइल) में, ऐसा ही कुछ बनाने के लिए:

define('URL', 'http://www.mywebsite.com/'); 

तो जब आप एक पुनर्निर्देशन, एक लिंक या जो भी बनाते हैं, तो आप यह करते हैं:

header('Location: '.URL.'yourpage.php?id=32', TRUE, 302); 

संपादित करें: नवंबर 2017. जैसा कि नीचे @jordanbtucker द्वारा इंगित किया गया है, जून 2014 में HTTP spec को अपडेट किया गया है (यह पोस्ट 2012 से है) स्थान शीर्षलेख में सापेक्ष यूआरआई को अनुमति देने के लिए।

+1

हां, मैं पहले से ही ** रिश्तेदार ** संस्करण और मेरे लिए इसका काम उपयोग कर रहा हूं, लेकिन मुझे संदेह है कि यह सभी उपयोगकर्ताओं के लिए काम नहीं करता है। मैं पूर्ण पथ प्राप्त करने के लिए यूआरएल का हिस्सा जोड़ सकता हूं, लेकिन यह स्थानीय मशीन पर इस sctipt को डिबग करने के लिए कुछ परेशानी देगा, क्योंकि हम हमेशा कुछ_script.php पर http://domain.com/some_script.php पर और इसके नहीं url में SERVER_HOST जोड़ने की समस्या है, लेकिन उपफोल्डर पर स्थानीय मशीन स्क्रिप्ट पर ... – abrahab

+1

ठीक है। तो मैं सुझाव देता हूं कि ट्यूट http://tools.ietf.org/html/rfc2616#section-10.3.3 पर एक नज़र डालें। अच्छा तरीका, सबसे अच्छा तरीका और जिस तरह से यह काम करने का अनुमान है, आपको पूर्ण यूआरएल की आपूर्ति करने की जरूरत है। –

+0

@abrahab मुझे नहीं पता कि स्थानीय मशीन उप-फ़ोल्डर पर पूरा यूआरएल क्यों है? –

संबंधित मुद्दे