2010-12-06 21 views
5

मैं हमेशा PHP_ का उपयोग कर mod_rewrite और मार्ग के माध्यम से PHP पर अपने सभी अनुरोध भेजता हूं। तो मेरे सभी लिंक पूर्ण हैं, यानी /about/somethingक्या हमें <base href = "" /> का उपयोग करना चाहिए?

मैं आमतौर पर

<a href="<?php echo BASE; ?>">home</a> 

तो जैसे मेरे लिंक बारे में ... कहाँ BASE आम तौर पर / करने के लिए अनुवाद या आधार URL के आधार पर अलग हो सकता है।

मुझे याद है कि <base href="<?php echo BASE; ?>" /> पहले जाना है, लेकिन मुझे याद नहीं है कि मैंने इसका उपयोग क्यों बंद कर दिया (मुझे लगता है कि यह मुझे सिरदर्द दे रहा था)।

क्या इस तत्व का उपयोग करने में समस्याएं हैं?

उत्तर

3

आधार तत्व का href HTML 4.01 में, एक पूर्ण यूआरआई होना था। http://www.w3.org/TR/html4/struct/links.html#h-12.4 देखें।

हालांकि कुछ ब्राउज़र कम सख्त हैं, मुझे विश्वास है, मुझे नहीं लगता कि सभी ब्राउज़र इस में संगत हैं, इसलिए <base href="/"> शायद क्रॉस-ब्राउज़र काम नहीं करेगा।

3

मैं हमेशा उसी कारण से बेस href का उपयोग करता हूं; मैं urlrewrite का उपयोग url को क्वेरी स्ट्रिंग में बनाने के लिए करता हूं और मैं पूरे स्थान पर पूर्ण यूआरएल का उपयोग नहीं करना चाहता हूं। तो मैंने शीर्ष पर एक आधार href रखा। इसके साथ कभी भी कोई वास्तविक समस्या नहीं थी।

+0

क्या आपने IE में बेस href का उपयोग करके उपफोल्डर में एक सापेक्ष यूआरएल में जावास्क्रिप्ट "location.href" करने का प्रयास किया है? उदाहरण: यदि आपका बेस href "http://www.site.com/" है और आपका जावास्क्रिप्ट ऑनक्लिक है "window.location.href = 'फ़ोल्डर/targetpage.html'; झूठी वापसी;" - यदि आप पहले से ही उस सबफ़ोल्डर में हैं तो IE में यह ठीक से काम नहीं करेगा। क्या आपके पास इसके लिए कोई कामकाज है? – Sean

+0

इसे कभी नहीं देखा; तो जाहिर है वास्तव में एक कामकाज नहीं है। –

0

ओपनकार्ट इसका उपयोग करता है, Magento 1.7+ नहीं, Drupal 6 नहीं करता है। मैंने अतीत में एक कस्टम बेस href कार्यान्वयन में भाग लिया है और ऐसा लगता है कि परियोजना पर रखरखाव कठिन है, लेकिन यह मेरी राय है।

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