2012-07-17 23 views
35

मैं एक आधार पृष्ठ के शीर्ष अनुभाग में नीचे के रूप में टैग है:बेस टैग सापेक्ष पथ के लिए क्यों काम नहीं करता है?

<base href="http://localhost/framework"> 

और एक स्क्रिप्ट जो नीचे के रूप में (आधार टैग के बाद निश्चित रूप से) रिश्तेदार है:

<script src="/assets/jquery-1.7.1.min.js"> 

लेकिन जब मैं खोलने jQuery फ़ायरबग से यह पता चलता है:

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> 
<html><head> 
<title>404 Not Found</title> 
</head><body> 
Blah Blah Blah.... 

जब मैं नीचे दिए गए लिंक का उपयोग करें यह हालांकि ठीक है:

<script src="http://localhost/framework/assets/jquery-1.7.1.min.js"> 

मैंने हर जगह जवाब की तलाश की, लेकिन ऐसा लगता है कि मैं अपना काम सही कर रहा हूं! तो समस्या क्या है?

उत्तर

70

/assets/jquery-1.7.1.min.js सापेक्ष नहीं है लेकिन पूर्ण *, / इसे base टैग के साथ भी रूट पर ले जाता है।

यदि आप / हटाते हैं, तो इसे वर्तमान पथ से सापेक्ष बनाना चाहिए, जब base टैग मौजूद है http://localhost/framework/ होगा।

href के अंत में आपको एक निशान / जोड़ने की आवश्यकता होगी, यह इंगित करने के लिए कि यह एक फ़ोल्डर है।

पूर्ण काम कर उदाहरण:

<!doctype html> 
<html> 
<head> 
<base href="/test/" /> 
<script src="assets/test.js"></script> 
<body> 
hi 
</body> 
</html> 

* वास्तव में आप जो पूछना पर निर्भर करता है, यह अभी भी रिश्तेदार है क्योंकि यह वर्तमान डोमेन बंद सापेक्ष है। लेकिन मैं इस पूर्ण को कॉल करना पसंद करता हूं क्योंकि यह वर्तमान डोमेन के आधार पर पथ से संकेत है, रूट से है। हालांकि, मुझे तकनीकी रूप से लगता है जो इसे चीजों की भव्य योजना में सापेक्ष बनाता है, और केवल वर्तमान डोमेन के संदर्भ में पूर्ण है। जो कुछ।

+0

मैं यह करने के लिए बदल दिया है: संपत्ति/jQuery-1.7.1.min.js लेकिन कोई सफलता । जैसा कि मैंने कहा है मुझे 404 नहीं मिला है। – ALH

+0

@phpGeek फायरबग (या एफ 12 या जो कुछ भी) में देख रहे हैं, अब यह अनुरोध करने का प्रयास कौन सा यूआरएल है? –

+0

मेरे प्रश्न का 'संपादित करें' भाग देखें। – ALH

9

होने की कोशिश करो अपने आधार टैग की तरह:

<base href="http://localhost/framework/"> 

और की तरह अपने स्क्रिप्ट टैग:

<script src="assets/jquery-1.7.1.min.js">