2012-03-05 6 views
0

私はすべての.xmlの要求をブロックするには、このhtaccessのルールを持っている:.htaccessはすべて拒否しますか?

<Files ~ "\.xml$"> 
Order allow,deny 
Deny from all 
Satisfy all 
</Files> 

はしかし、私は1つの特定の.xmlファイルを許可する必要があります。ルールはどのように書き直されるべきですか?

また、そのルールの上に、私はこのような例外があります。

RewriteRule ^(myxml\.xml)$ $1 [L] 

をしかし、それはまだファイルを許可していません。

答えて

1

Apache Regexp EngineはPCREと互換性があります。なぜなら、負のlookbehindアサーション"(?<!\bmyxml)\.xml$"を持つregexpを使用しないのはなぜですか?

これは、myxmlが先行していない限り、.xmlで終わるものと一致します。つまり、ルールはmyxml.xmlに対して起動されないため、拒否されません。

BTW FilesMatchはApacheのドキュメントに従ってファイル〜より優先されます。なぜ私に尋ねないでください。

+0

こんにちは、お返事ありがとうございます。だから、最終的なコードは何ですか?元の2つのルールを削除しますか? –

+0

リライトを削除します。 の正規表現を ''に置き換えてください。申し訳ありません - 私は自分自身を説明したと思いました:-) – TerryE

+0

これがうまく動作し、それに応じてアップ/ダウンします:-) – TerryE

関連する問題