2010-02-02 9 views
18

मैं .htaccess के साथ एक फ़ाइल तक पहुंच को अक्षम करने में सक्षम हूं, लेकिन मुझे नहीं पता कि कई फाइलों को देखने के लिए कैसे अनुमति दी जा सकती है (सीधे, शामिल नहीं है).htaccess विशिष्ट फ़ाइलों तक पहुंच से इंकार कर देता है? एक से अधिक

वे .php हैं इसलिए मैं कर सकता हूं 'टी एक फ़ाइल प्रकार (केवल ट्यूटोरियल की तरह ऑनलाइन कहते हैं ..) को निष्क्रिय

<FILES ... ? 

</FILES> 

या कुछ .. उदाहरण के लिए "home.php, file.php, test.php" कैसे मैं सभी तीन के लिए अनुमति नहीं देतीं हैं उस टैग के साथ फाइलें? या इसी तरह, कृपया मदद करें!

उत्तर

24

आप नियमित अभिव्यक्ति के आधार पर फ़ाइलों को बाहर निकालना चाहते हैं, तो आप FilesMatch बजाय फ़ाइलें, जैसे इस्तेमाल कर सकते हैं:

<FilesMatch ^((home|test|file)\.php$|mysecretfolder|asecretpicture\.jpe?g)$> 
... 
</FilesMatch> 
+0

बिल्कुल सही, मुझे प्रत्येक फ़ाइल नाम के लिए पाइपिंग पसंद है, बस मैं चाहता था। धन्यवाद। –

+0

चेतावनी: यदि आप /test.php को बाहर करना चाहते हैं, तो स्ट्रिंग के प्रारंभ और अंत का उपयोग करें, लेकिन /public/test.php या /test.php.bak – Residuum

+1

यह सबसे उपयोगी बात है जिसे मैंने पूरे सप्ताह देखा है। माना जाता है, यह सोमवार को सिर्फ दोपहर 2 बजे है, लेकिन फिर भी। – Imperative

11

ऐसा लगता है कि उन फ़ाइलों को एक-एक करके बाहर करने के लिए है:

<files home.php> 
Deny/Allow/Whatever 
</files> 
<files file.php> 
... 

आप <files> या something* में *.gif उपयोग कर सकते हैं, लेकिन home.php, file.php और test.php के रूप में वास्तव में नहीं हो सकता है "*" के साथ समूहीकृत, यह शायद जाने का एकमात्र तरीका है।

0

के बाद से अपाचे 2,4

<FilesMatch "\.htaccess|config\.php"> 

    Require all denied 

</FilesMatch> 
बजाय

<FilesMatch "\.htaccess|config\.php"> 

    Order allow,deny 
    Deny from all 

</FilesMatch> 
संबंधित मुद्दे

 संबंधित मुद्दे