2011-07-18 11 views
11

Đó là một chút khó chịu rằng mỗi khi bạn đặt một phần mở rộng tập tin "mới" trên máy chủ được hỗ trợ IIS 7.5 của bạn để tải xuống http đơn giản, bạn phải suy nghĩ về việc thêm phần mở rộng vào cấu hình IIS!IIS 7.5: Làm thế nào để cho anh ta phục vụ theo mặc định tất cả các phần mở rộng tập tin (mà không cần thêm chúng bằng tay)?

(ví dụ cung cấp một tập tin nén trong .7z định dạng)

Có cách nào để nói với IIS "phục vụ bất cứ điều gì" (như nó là cài đặt mặc định trong Apache-Webserver)?

Cảm ơn

Trả lời

-1

Hãy thử những điều sau trong web.config của bạn. Điều này về cơ bản bảo IIS bỏ qua danh sách trắng mở rộng.

<configuration> 
    <system.webServer> 
    <security> 
     <requestFiltering> 
     <fileExtensions allowUnlisted="true" /> 
     </requestFiltering> 
    </security> 
    </system.webServer> 
</configuration> 
+0

Nó nói ở đây (http://www.iis.net/configreference/system.webserver/security/requestfiltering/fileextensions#005) rằng giá trị mặc định là đúng, vì vậy tôi không thấy nó thay đổi như thế nào. –

+0

Tôi đã viết điều này khi tôi đang làm việc cho một công ty tài chính - họ đã có một machine.config được triển khai trên mẫu máy chủ web-VM của họ đặt giá trị này thành false, vì vậy tôi đã không nhận ra điều này. –

+0

Giải pháp này không hoạt động ... Tôi đang cố gắng phục vụ .rdf – inf3rno

11

Bạn nên thêm dòng sau vào các loại MIME:

extension: .* 
MIME type: application/octet-stream 

Sau đó (tùy thuộc vào trình duyệt) mỗi tập tin không rõ sẽ bị buộc phải tải về.

+2

Nếu tệp của bạn không có đuôi, sau đó sử dụng '.' để khớp với nó thay vì'. * ' –

+0

@CarlosRendon Có thể thêm câu trả lời thay thế nếu nó hoạt động bạn. – inf3rno

6

Bạn nên thêm dòng sau vào các loại MIME:

Đối với các file với bất kỳ phần mở rộng (ví dụ foo.somethingcrazyhere)

extension: .* MIME type: application/octet-stream

Đối với file mà không bất kỳ phần mở rộng (ví dụ SOMETHING_CRAZY_HERE_NO_DOT)

extension: . MIME type: application/octet-stream