2012-06-21 13 views
17

मैं .htaccess का उपयोग नहीं करना चाहता हूं। मुझे अपनी निर्देशिका विशेषताओं को कैसे बदलना चाहिए?अपाचे पर निर्देशिका सूची अक्षम करें; लेकिन अलग-अलग फ़ाइलों तक पहुंच की अनुमति दी जानी चाहिए

<VirtualHost *:80> 
    ServerName abc.com 
    DocumentRoot /usr/share/uploads 
    <Directory " /usr/share/uploads"> 
     Order allow,deny 
     Allow from all 
    </Directory> 
</VirtualHost> 

उत्तर

21

मुझे वास्तव में इंटरनेट पर सीधा जवाब नहीं मिला; अपाचे दस्तावेज पर भी। अंत में, कुछ पुनरावृत्तियों के माध्यम से समाधान मिल सकता है; हमें विकल्पों का उपयोग करने की आवश्यकता है और मान में इंडेक्स नहीं होना चाहिए।

<Directory "/usr/share/uploads"> 
     Options Includes FollowSymLinks MultiViews 
     AllowOverride None 
     Order allow,deny 
     Allow from all 
    </Directory> 
+7

प्रासंगिक प्रलेखन मुख्य विकल्प पृष्ठ के [विकल्प] (http://httpd.apache.org/docs/current/mod/core.html#options) अनुभाग है, जो "अनुक्रमणिका" विकल्प के प्रभावों का वर्णन करता है। आप पहले से सेट किए गए किसी भी अन्य विकल्प को प्रभावित किए बिना,/+ के साथ उपसर्ग करके अलग-अलग विकल्पों को अक्षम/सक्षम भी कर सकते हैं: 'विकल्प-इंडेक्स'। – outis

-1

उस निर्देशिका के अंदर एक खाली index.html (या जो भी आप अपाचे को डिफ़ॉल्ट रूप से वितरित करने के लिए कॉन्फ़िगर किया गया है) डालने का सबसे आसान तरीका होगा। यह वास्तविक समाधान नहीं है बल्कि एक बहुत ही सरल कामकाज है। उस निर्देशिका को ब्राउज़ करने वाले उपयोगकर्ता को एक खाली सफेद पृष्ठ दिखाई देगा।

आगे आप एक स्क्रिप्ट (जैसे index.php) का उपयोग कर सकते हैं जो निर्देशिका-लिस्टिंग को अनुकरण करता है और केवल कुछ विशेष फाइलें दिखाता है।

+0

यह अपलोड करता निर्देशिका एक webapp जो index.jsp है और वैसे भी कर सकते हैं कि एक अच्छा समाधान या तो नहीं है नहीं है। – Deepak

49

आप Debian/Ubuntu के प्रयोग कर रहे हैं, केवल आपके Centos/फेडोरा उपयोग कर रहे हैं टर्मिनल के पास जाकर टाइप

sudo a2dismod autoindex 
sudo service apache2 restart 

, बस कार्य करें:

mv /etc/httpd/conf.d/autoindex.conf /etc/httpd/conf.d/autoindex.bkp 
/etc/init.d/httpd restart 

और इसी तरह अन्य में ओएस या distros ...

यह अपाचे मॉड्यूल को अक्षम करना चाहिए जो उन फैंसी (सामान्य रूप से बेकार और एक securi बनाता है टाई समस्या) निर्देशिका लिस्टिंग। साथ ही, बोनस के रूप में, आप थोड़ा प्रदर्शन कमाते हैं :-)

+0

आसान "#" httpd.conf पुट में इस समाधान – Gajotres

+0

या WAMP में (खिड़कियों पर) तो के सामने प्राप्त नहीं कर सकता शामिल conf/अतिरिक्त/httpd-autoindex.conf और LoadModule autoindex_module मॉड्यूल/mod_autoindex.so –

+1

मैंने अपने पूरे सर्वर पर प्रत्येक एकल कॉन्फ़िगरेशन फ़ाइल संपादित की है और उन निर्देशिका अनुक्रमणिका पृष्ठों को रोकने के लिए नहीं मिल सका। यह चाल है। आपके पास स्वीकार्य उत्तर होना चाहिए। – SeniorShizzle

2

@ दीपक समाधान ने मेरे लिए काम नहीं किया। यह एक किया:

मुख्य शीघ्रता विन्यास में /etc/apache2/httpd.conf सिर्फ जोड़ें:

<Directory /> 
     Options FollowSymLinks 
     AllowOverride All 
</Directory> 

और यह आप डोमेन और उप डोमेन के सभी के लिए काम करेंगे। .htaccess फ़ाइल के बिना।

0

सब कुछ ऊपर किया गया, लेकिन निर्देशिका जानकारी अभी भी आ रही है? आप index.php का उपयोग हैं, बल्कि index.html से, निम्नलिखित की जाँच करें:

<IfModule dir_module> 
    DirectoryIndex index.php 
</IfModule> 
संबंधित मुद्दे