2011-01-26 1 views
5

一部の選択されたディレクトリへの直接URLアクセスを防止したいと考えています。ただし、選択したディレクトリ内のいくつかのファイルを直接URLにアクセスできるようにしてください。 "xml /"ディレクトリ内の.phpファイルへのアクセスを許可するために、< filesmatch>部分を書くことにいくつか問題があります。私はfilesmatchディレクティブに "path"の一部を含めることを望んでいます。ディレクトリごとに別のファイルを作成したいのですが、特定のファイルを使用したいのですが、うまくいきません... "/xml/"と入力してください。<FilesMatch "\.(php)$">Apacheのファイルマッチディレクティブヘルプ。 "path/to/file"を含めるが、正しく動作しないようにする

私の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は純粋にファイル名で動作します。パスの部分はまったく見ないので、FilesMatchブロックのファイル名には/ xml /という文字を決して使用できません。そのため、上記のDirectoryMatchが存在します。そこにディレクトリをマッチさせ、dirmatch内のファイル名をマッチさせます。

+0

ああ、それを指摘していただきありがとうございます – Ronedog

関連する問題