Следующее в web.config для перезаписи отлично работает :
<rule name="foo" stopProcessing="true">
<match url="foo.dat$"/>
<conditions>
<!-- Match brotli requests -->
<add input="{HTTP_ACCEPT_ENCODING}" pattern="br" />
</conditions>
<action type="Rewrite" url="_compressed_br/foo.dat" />
</rule>
Я хочу добавить условие, чтобы убедиться, что перезапись выполняется только в том случае, если сжатый файл в подпрограммепапка существует:
<rule name="foo" stopProcessing="true">
<match url="foo.dat$"/>
<conditions>
<!-- Match brotli requests -->
<add input="{HTTP_ACCEPT_ENCODING}" pattern="br" />
<!-- Check if the pre-compressed file exists on the disk -->
<add input="{DOCUMENT_ROOT}/_compressed_br/foo.dat" matchType="IsFile" negate="false" />
</conditions>
<action type="Rewrite" url="_compressed_br/foo.dat" />
</rule>
Переписывание никогда не происходит с условием.Это означает, что проверка всегда возвращает ложь.Я также пробовал следующее для условия безрезультатно:
<add input="{DOCUMENT_ROOT}_compressed_br/foo.dat" matchType="IsFile" negate="false" />
<add input="/_compressed_br/foo.dat" matchType="IsFile" negate="false" />
<add input="_compressed_br/foo.dat" matchType="IsFile" negate="false" />
Не могли бы вы предложить совет по этому вопросу?
Редактировать (2019-09-27): Структура папки:
Каталог веб-приложения foo находится в ... \ dist.URL-адрес для открытия веб-приложения: http://localhost/foo/