13

ドライブ上のファイルとバンドルシステムを無視しますが、バンドル名にファイル拡張子を含めることを試みている人はいません。これは、URL書き換えのようなものなしで行うことが可能ですか?バンドル名にファイル拡張子を付ける方法はありますか?バンドル名は、この作品だけ<code>"~/style"</code>ですが、ファイル拡張子で、それは常に私がCSSやJSのサーバー検索を疑う404を返す場合</p> <pre><code>bundles.Add( new StyleBundle("~/style.css").Include( //... )); </code></pre> <p>:私はこのようなバンドルを定義しているしたいと思います

答えて

19

あなたはweb.configファイルでのご<system.webServer>セクションに以下を追加することができます。これは、このような.js.cssなどの静的リソースに対する要求を管理モジュールを通過し、ASPによって傍受されることが保証されます

<modules runAllManagedModulesForAllRequests="true" /> 

。 NET MVC。

すべてのリクエストに対してrunAllManagedModulesForAllRequestsを有効にする代わりに、必要なURLだけを設定することができます。

<handlers> 
    <!-- ... --> 
    <add name="scriptBundle" verb="*" path="script.js" type="System.Web.Optimization.BundleHandler, System.Web.Optimization" preCondition="managedHandler" /> 
    <add name="cssBundle" verb="*" path="style.css" type="System.Web.Optimization.BundleHandler, System.Web.Optimization" preCondition="managedHandler" /> 
</handlers> 
+3

うーん、唯一の.jsや.cssファイルに影響を与える少ない抜本的な解決策がある:だから<handlers>の内側に以下を追加しますか? – sbking

+0

確かに、私の更新答えを見てください。 –

+1

+1ですが、 'path =" *。bundle.js "'を指定すると、ハンドラーが実際のファイルに対して実行されなくなります。 –

関連する問題

 関連する問題