2012-06-25 1 views
1

Я пытаюсь использовать правила перезаписи из HTML 5 Boilerplate project, чтобы обойти кэш браузера (так называемый кэш перебор):Почему правило отключения кэша, объявленное в файле web.config, игнорируется?

<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-адреса?

Update: Я использую эти настройки для моего веб-сервера в VS2010: enter image description here

ответ

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

Я pressume вы хотите получить /css/all.css, если нет, опубликовать желаемый результат ...

EDIT: Сервер внутреннего развития VS (Cassini) не поддерживает модуль перезаписи URL-адресов IIS, для этого вам потребуется использовать IIS (Express) или какой-либо сторонний компонент (http://urlrewriter.net/) ...

+0

Это ничего не меняло. Тот же результат, что означает, что '/ css/all.123456.css' не разрешил'/css/all.css'. – TMC

+0

@TMC - ну, что это разрешает ** на **? –

+0

Я получаю 404. Похоже, что он не перезаписывается вообще. – TMC

 Смежные вопросы

  • Нет связанных вопросов^_^