<स्थान> और <निर्देशिका> अपाचे निर्देश के बीच अंतर


29

मेरे पास Zend सर्वर स्थापित है और कुछ इस तरह से देखा गया है जैसे मेरी httpd.conf फ़ाइल में जोड़ा गया था:

<Location /ZendServer>
 Order Allow,Deny
 Allow from 127.0.0.1
</Location>

Alias /ZendServer "C:\Program Files\Zend\ZendServer\GUI\html"

<Directory "C:\Program Files\Zend\ZendServer\GUI\html">
 AllowOverride All
</Directory>

लेकिन मैं स्थान और निर्देशिका के बीच के अंतर को समझ नहीं सकता । मैं निम्नलिखित की तरह कुछ के लिए बदल गया है, जो मुझे अधिक समझ में आता है, और यह अभी भी काम करता है:

<Location /ZendServer>
 AllowOverride All
 Order Allow,Deny
 Allow from 127.0.0.1
</Location>

Alias /ZendServer "C:\Program Files\Zend\ZendServer\GUI\html"

क्या मैं अपने बदलाव रख सकता हूं या क्या मुझे इसे उसी तरह से वापस रखना चाहिए?

जवाबों:


41

Directoryनिर्देश केवल फ़ाइल सिस्टम ऑब्जेक्ट्स (जैसे / var / www / mypage, C: \ www \ mypage) के Locationलिए काम करता है , जबकि निर्देश केवल URL (आपके साइट डोमेन नाम, जैसे www.mypage.com/mylocation) के लिए कार्य करता है।

उपयोग सीधा है - Locationयदि आप URL द्वारा अधिकारों का उपयोग करने की आवश्यकता है, Directoryतो आप उपयोग करेंगे, और यदि आप फ़ाइल सिस्टम में किसी निर्देशिका (और इसके उपनिर्देशिका) तक पहुँच अधिकारों को नियंत्रित करने की आवश्यकता है, तो आप इसका उपयोग करेंगे ।


मैं अभी भी उलझन में हूँ ... ज़ेंड ने दोनों का इस्तेमाल क्यों किया? क्या मैं अपने बदलाव रख सकता हूं या इसमें कुछ गड़बड़ है?
रिकार्डो अमरल

1
नहीं, आपका कॉन्फ़िगरेशन मूल एक जैसा नहीं है - आपने निर्देशिका निर्देश से AllowOverride को हटा दिया है, और इसका अर्थ है कि आप C: \ Program Files \ ZendServer \ GUI के HTML निर्देशिका में .htaccess फ़ाइल का उपयोग नहीं कर पाएंगे। निर्देशिका विकल्प सेटअप URL विकल्प सेटअप से अलग है, यही कारण है कि उन्होंने दोनों का उपयोग किया है।
ipozgaj

1
निर्देशिका बनाम स्थान (और अन्य) के बारे में अपाचे डॉक्स में लंबा लेखन: httpd.apache.org/docs/2.2/sections.html
Dan Pritts

2

AJP या प्रॉक्सी रीडायरेक्ट का उपयोग करते समय स्थान का उपयोग किया जा सकता है। उदाहरण के लिए, Oracle का PLSQL APEX मॉड्यूल निम्नलिखित URL का उपयोग करता है: / pls / apex / f? P = 1: 1

यदि आप निर्देशिका का उपयोग करके इसे प्रतिबंधित करने का प्रयास करते हैं, तो यह कभी भी काम नहीं करेगा क्योंकि यह एक पास-थ्रू है और सर्वर पर भौतिक निर्देशिका नहीं है। स्थान का काम करता है!

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.