Tôi đang lưu trữ nhiều ứng dụng trên thư mục ảo của máy chủ IIS và tôi đang sử dụng URL Rewrite để tạo điều kiện thuận lợi cho chúng. Tất cả hình ảnh và nội dung khác được viết theo cách thủ công như thế này "~/path/to/my/content"
có đầu ra chính xác "/path/to/my/content"
, nhưng đường dẫn gói như "~/client/js"
cho kết quả là "/myapplication/client/js"
phải là "/client/js"
.Gói MVC và thư mục ảo IIS (URL viết lại)
Tôi làm cách nào để khắc phục điều đó?
Làm thế nào tôi bắt đầu Script bó:
var scriptBundle = new ScriptBundle("~/client/js");
cấu hình Rewrite:
<rule name="Official Website" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTP_HOST}" matchType="Pattern" pattern="^(www\.)?domain\.com$" ignoreCase="true" negate="false" />
</conditions>
<action type="Rewrite" url="officialsite/{R:1}" />
</rule>
Được nhìn vào các chủ đề này, nhưng không thể làm cho công việc bất cứ điều gì cho tôi:
- How do I get System.Web.Optimization bundles to work with custom folders in an IIS virtual directory?
- CssRewriteUrlTransform with or without virtual directory
- Why does ResolveBundleUrl not work for custom folders? (MVC Beta 4)
- Is it possible to unit test BundleConfig in MVC4?
UPDATE: Tôi đang sử dụng Winhost là nhà cung cấp hosting, và họ không hỗ trợ thiết lập tiêu đề chủ cho IP, có thể là do IP chia sẻ. Chúng cung cấp các con trỏ tên miền cho các thư mục gốc, đó là lý do tại sao tôi đang sử dụng URL viết lại.
Bạn đã nói với chúng tôi bạn đang viết lại, nhưng bạn đã quyết định không hiển thị viết lại quy tắc của bạn quá? Có vẻ như họ có thể là một phần của vấn đề. – spender
Dường như với tôi rằng bạn muốn sử dụng nhiều trang web được liên kết đến cổng 80 và được phân biệt theo tên máy chủ. Bạn không cần phải sử dụng URL viết lại cho điều đó. Có thể [this] (http://forums.iis.net/t/1197454.aspx) là những gì bạn đang sau? – milanio
@milanio Xin chào, tôi đang sử dụng winhost làm nhà cung cấp dịch vụ lưu trữ và điều duy nhất tôi có thể làm là đặt con trỏ tên miền thành thư mục gốc thích hợp. Họ không cung cấp thiết lập tiêu đề máy chủ như trong liên kết bạn đã cung cấp. Cảm ơn bạn. – skmasq