2011-01-26 6 views
5

मैं कुछ चयनित निर्देशिकाओं के लिए सीधे यूआरएल पहुंच को रोकना चाहता हूं। लेकिन फिर सीधी यूआरएल एक्सेस के लिए चुनी गई निर्देशिकाओं के अंदर कुछ फाइलें एक्सेस करें। मुझे "xml /" निर्देशिका के अंदर .php फ़ाइलों तक पहुंच की अनुमति देने के लिए < filesmatch> भाग लिखने में कुछ परेशानी हो रही है। मैं फाइलमैच निर्देश में "पथ" का हिस्सा शामिल करना चाहता हूं, अलग-अलग < निर्देशिकामैच> प्रत्येक निर्देशिका के लिए निर्देश बनाने के बजाय मैं कुछ फाइलों को प्राप्त करना चाहता हूं, लेकिन यह काम नहीं करता है ... अगर मैं "/xml/"और <FilesMatch "\.(php)$">apache filesmatch निर्देश सहायता। "पथ/से/फ़ाइल" को शामिल करना चाहते हैं लेकिन सही काम नहीं कर रहे हैं

मेरे httpd.conf में मेरे पास वर्चुअल निर्देशिका सेट है। वर्चुअल निर्देशिका के अंदर मैंने निम्नलिखित जोड़ा:

<DirectoryMatch "^/data/servers/dev.site.com/web/administrator/(includes|xml|css|javascript|stylesheet|cache|classes|acco 
unt_files)"> 
     AddType application/x-httpd-php .php .html .htm 
     Options none 
     AllowOverride All 
     Order Deny,Allow 
     Deny from all 


     #Target all files in "xml/" directory that end in ".php" 
     <FilesMatch "/xml/\.(php)"> 
       AddType application/x-httpd-php .php 
       Order Allow,Deny 
       Allow from all 
     </FilesMatch> 

</DirectoryMatch> 

कोई भी जानता है कि मुझे यह कैसे लिखना चाहिए?

सहायता के लिए धन्यवाद।

उत्तर

8

FilesMatch पूरी तरह से फ़ाइल नामों पर काम करता है - यह पथ भाग को बिल्कुल नहीं देखता है, इसलिए आपको फाइलमैच ब्लॉक में फ़ाइल नाम में कभी भी '/ xml /' नहीं मिलेगा। यही कारण है कि ऊपर निर्देशिका निर्देशिका है। वहां निर्देशिका से मिलान करें, फिर फ़ाइल के भीतर फ़ाइल नाम मिलान करें।

+0

आह, यह इंगित करने के लिए धन्यवाद – Ronedog

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