2010-05-18 7 views
13

यह एक लंबा समय रहा है क्योंकि मुझे एक .htaccess फ़ाइल खोलने की आवश्यकता है ...apache .htaccess का उपयोग करके कुछ फ़ाइल प्रकार को कैसे छिपाना है?

संपूर्ण साइट के बाहर 40x किसी विशिष्ट फ़ाइल एक्सटेंशन तक पहुंच को रोकने का सबसे आसान तरीका क्या है?

उत्तर

21
<FilesMatch "\.(htaccess|htpasswd|ini|log|sh|inc|bak)$"> 
Order Allow,Deny 
Deny from all 
</FilesMatch> 

लोडेड कुछ सामान्य एक्सटेंशन के साथ, आपको जितनी आवश्यकता हो उतनी अधिक जोड़ें।

4
<FilesMatch "\.ext$"> 
    Deny from all 
</FilesMatch> 

पर FilesMatch और Deny

संपादित अपाचे दस्तावेज़ देखें: Artefacto एक good point बना देता है, यह 403 वापस आ जाएगी, नहीं 404, अगर है कि अपने उद्देश्यों के लिए महत्वपूर्ण है

11

यदि आप वास्तव में चाहते हैं 404 (और एक 403 नहीं), आप mod_rewrite का उपयोग कर सकते हैं: RedirectMatch निर्देशों का उपयोग एक्सटेंशन दायर करने के लिए

RewriteEngine on 
RewriteRule \.ext$ - [R=404] 
+0

खेद - 403 मैं क्या इस्तेमाल करना चाहिए है। मैंने 40x कहने के लिए सवाल संपादित किया। – Stevko

+0

ध्यान दें कि संसाधन की पहुंच प्रतिबंधित होने पर आरएफसी 2616 404 प्रतिक्रिया की अनुमति देता है (धारा 10.4.4 देखें)। तो आपका मूल प्रश्न मान्य था। – Artefacto

+2

'रीडायरेक्ट 404' भी है, रेफरी: [.ttaccess के अनुरोध 403 के बजाय 404 लौटाएंगे] (http://stackoverflow.com/a/7945851/367456) और' रीडायरेक्ट मैच 404', रेफरी: [मेक। जीआईटी निर्देशिका वेब पहुंच योग्य] (http://stackoverflow.com/a/17916515/367456) - बस थोड़ा सा क्लस्टरिंग करें। – hakre

2

तुम भी अस्वीकार कर सकते हैं का उपयोग कर सकते:

RedirectMatch 403 ^/.+\.(php|html|gif)$ 

हो जाएगा ताकि ग्राहकों के लिए 403 वर्जित त्रुटि लौटाएं यदि वे .php या .html या .gif के साथ समाप्त होने वाली किसी भी यूरी का अनुरोध करते हैं। आप बार | का उपयोग करके पैटर्न में और एक्सटेंशन जोड़ सकते हैं।

0

मुझे @Chris लॉलर और @ स्टार्किन के दोनों जवाब पसंद हैं और चूंकि ओपी ने "40x" के बारे में पूछा है, इसलिए मैं 404 त्रुटि पर रीडायरेक्ट करने का सुझाव देने जा रहा हूं क्योंकि यह तथ्य मौजूद नहीं है।

यह वही मैं वर्तमान में अपनी परियोजनाओं में से एक में उपयोग कर रहा हूँ है:

# Hide files not concerning the user 
RedirectMatch 404 \.(htaccess|htpasswd|ini|log|sh|inc|bak|bkp|sql)$ 
संबंधित मुद्दे