2010-03-26 26 views
25

Đây là một quy tắc trong .htaccess tôiCách làm cho trường hợp quy tắc .htaccess này không nhạy cảm?

# those CSV files are under the DOCROOT ... so let's hide 'em 
<FilesMatch "\.CSV$"> 
Order Allow,Deny 
Deny from all 
</FilesMatch> 

tôi đã nhận thấy tuy nhiên nếu có một tập tin với một chữ thường hoặc trường hợp hỗn hợp mở rộng của CSV, nó sẽ bị bỏ qua bởi các quy tắc và hiển thị.

Làm cách nào để khiến trường hợp này không nhạy cảm?

Tôi hy vọng nó không đi xuống "\.(?:CSV|csv)$" (mà tôi không chắc chắn thậm chí sẽ làm việc, và không bao gồm tất cả các căn cứ)

Lưu ý: Các file dưới docroot, và được tải lên tự động ở đó bởi dịch vụ của bên thứ 3, vì vậy tôi muốn triển khai quy tắc kết thúc thay vì làm phiền chúng. Đã có Tôi thiết lập trang web này mặc dù, tôi muốn đi trên trên docroot.

Cảm ơn

Trả lời

30

This page from the apache docs nói rằng bạn có thể làm điều đó như thế này:

<FilesMatch \.(?i:csv)$> 
+0

Chính xác những gì tôi đã theo đuổi ... cảm ơn rất nhiều. – alex

+0

Cú pháp này cũng hoạt động với câu lệnh 'hoặc': '" \. (? I: gif | jpe? G | png) $ "' – todd

1

"\.[cC][sS][vV]$"

Nó vẫn có lẽ là tốt hơn để phù hợp và đổi tên các tập tin được tải lên khi nhận được trên máy chủ của bạn.

+0

Cảm ơn câu trả lời của người bạn đời của bạn, nhưng đó là một chút hacky. – alex

+0

@alex Điều đó cũng khớp với cSv. – fuxia

+0

Kịch bản của tôi là xác nhận hợp lệ chữ hoa hoặc chữ thường trong chuỗi truy vấn. Suite giải pháp này. Cảm ơn bạn @Amy –

15

trường hợp nhạy cảm:

<FilesMatch "(?i)\.(js|css|eot|ttf)$"> 
Các vấn đề liên quan