1

HTML 5 Boilerplateプロジェクトの書き換えルールを使用して、ブラウザーキャッシュ(別名キャッシュバスティング)を回避しようとしています。

<rewrite>
    <rules>
        <rule name="Cachebusting">
            <match url="^(.+)\.\d+(\.(js|css|png|jpg|gif)$)" />
            <action type="Rewrite" url="{R:1}{R:2}" />
        </rule>
        <rule name="Remove WWW" stopProcessing="true">
            <match url="^(.*)$" />
            <conditions>
              <add input="{HTTP_HOST}" pattern="^(www\.)(.*)$" />
            </conditions>
            <action type="Redirect" url="http://chewsy.com{PATH_INFO}" redirectType="Permanent" />
        </rule>
    </rules>
</rewrite>

でcssにアクセスしようとすると/css/all.123456.css、探している/css/all.123456.css(書き換えなし)というエラーレポートが表示されたファイルを見つけることができません。ルールをコメントアウトして、"Remove WWW"それが競合であるかどうかを確認しようとしましたが、同じ動作です。

このルールが適用されず、URLが書き換えられない理由はありますか?

更新: VS2010のWebサーバーに次の設定を使用しています。 ここに画像の説明を入力してください

4

1 に答える 1

3
<match url="^(.+)\.\d+\.(js|css|png|jpg|gif)$" />
<action type="Rewrite" url="{R:1}.{R:2}" />

取得したい/css/all.css、そうでない場合は、望ましい結果を投稿してください...

編集: VS 内部開発サーバー (Cassini) は IIS URL 書き換えモジュールをサポートしていません。そのためには IIS (Express) またはサードパーティ コンポーネント ( http://urlrewriter.net/ ) を使用する必要があります...

于 2012-06-25T02:27:20.260 に答える