मेरा प्रश्न सापेक्ष और पूर्ण पते के संबंध में है।

मैंने वर्षों से एक ढांचा बनाया है, जिस पर मेरी सभी PHP वेबसाइटें बनाई गई हैं।

प्रत्येक पृष्ठ शीर्ष स्तर "index.php" फ़ाइल में लोड किया गया है। यह अच्छा है, क्योंकि मैं संसाधनों के पथ के साथ कभी संघर्ष नहीं करता। सिस्टम के प्रत्येक स्तर पर प्रत्येक संसाधन को शीर्ष स्तर की अनुक्रमणिका फ़ाइल से संदर्भित किया जाता है, इसलिए पथ हमेशा समान होते हैं:

अर्थात (img src="images/sprites/xxxxx.jpg") सिस्टम के हर एक पेज से।

लेकिन अब मैंने mod_rewrite की शुरुआत करके इसे बर्बाद कर दिया है। ऐसा लगता है कि मॉड रीराइट ने उस पथ प्रणाली को भ्रमित कर दिया है जिसका मैं उपयोग कर रहा हूं। इसलिए मेरे लिए रास्तों को अपडेट करने का समय आ गया है। स्टाइलशीट और इमेज अब लोड नहीं होते हैं।

मुझे इसे कैसे ठीक करना चाहिए? क्या यह सच है कि सापेक्ष पथ पूर्ण से तेज़ी से लोड होते हैं? PHP में आपके सर्वर फ़ाइल सिस्टम की जड़ को खोजने के लिए कोई तरीका नहीं है, इसे $var पर असाइन करें और फिर उस $var को छवि पथों में प्रीपेन्ड करें? क्या यह मेरी छवियों और स्टाइलशीट को "http://site.com/images/xxxx.jpg" के रूप में संदर्भित करने से कहीं अधिक तेज़ है?

मुझे अभी बहुत कुछ सीखना है। कोई इनपुट कृपया

1
GRY 25 अगस्त 2011, 02:20

3 जवाब

सबसे बढ़िया उत्तर

बस images निर्देशिका से पहले एक / जोड़ें

img src="/images/sprites/xxxxx.jpg"

यह वैसा ही है जैसे:

http://site.com/images/sprites/xxxxx.jpg
0
Pedro Lobito 25 अगस्त 2011, 02:34

मुझे इसे कैसे ठीक करना चाहिए?

/ से शुरू होने वाले यूआरआई का उपयोग करें ताकि वे वर्तमान डोमेन की जड़ के सापेक्ष हों (समान प्रोटोकॉल और पोर्ट रखते हुए)।

क्या यह सच है कि सापेक्ष पथ पूर्ण से तेज़ी से लोड होते हैं?

वे छोटे हैं, इसलिए वे कुछ बाइट्स बचाते हैं, इसलिए तकनीकी रूप से - हाँ। हालांकि यह एक महत्वपूर्ण बचत नहीं है।

PHP में आपके सर्वर फ़ाइल सिस्टम की जड़ को खोजने के लिए कोई तरीका नहीं है, इसे $var पर असाइन करें और फिर उस $var को छवि पथों में प्रीपेन्ड करें?

हां, लेकिन उपरोक्त तकनीक सरल है।

1
Quentin 25 अगस्त 2011, 02:30

$_SERVER["DOCUMENT_ROOT"] आपको वह मिलेगा जो आपने मांगा था:

<?php $root = $_SERVER["DOCUMENT_ROOT"]; ?>

लेकिन मैं अन्य पोस्टरों से सहमत हूं कि रूट रिलेटिव (अग्रणी स्लैश) पथ एक आसान समाधान है।

0
steveax 25 अगस्त 2011, 02:38