Я использую два простых правила для реализации дружественного URL.
Они работают, но я не вижу изображения и возникает ошибка
Прямой URL-адрес веб-сайта ASP.NET 3.5
http://localhost/Test/Products/888/9999
Ошибка
http://localhost/Test/Products/888/Images/Jellyfish.jpg Не удалось загрузить ресурс: сервер ответил со статусом 404 (не найдено)
Правила
<rule name="t2" enabled="true">
<match url="^products/([0-9]+)/([0-9]+)" negate="false" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="false" />
<action type="Rewrite" url="products.aspx?p={R:1}&pc={R:2}" />
</rule>
<rule name="t1" enabled="true">
<match url="^product/([0-9]+)" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="false" />
<action type="Rewrite" url="product.aspx?p={R:1}" />
</rule>
Я вижу, что IIS строит неправильный путь к изображениям, как он говорит
Любая подсказка?
http://localhost/Test/Products/888/9999
, чтобы вернуть изображение в местоположенииhttp://localhost/Test/Products/888/Images/Jellyfish.jpg
, или ваш product.aspx возвращает изображение. Каков реальный URL-адрес изображения, которое вы хотите получить? - person Peter Hahndorf   schedule 11.06.2015http://localhost/Test/Products/888/9999
должен открыть Products.aspx. Но каким-то образом IIS переписывает пути к изображениям внутри этой страницы. На этой странице есть простой файл ` ‹img src=Images/Jellyfish.jpg /›`, который отлично работает без правил перезаписи. - person DmitryBoyko   schedule 11.06.2015<conditions><add input="{REQUEST_URI}" pattern="\.jpg" negate="true" /></conditions>
или, может быть,<conditions><add input="{REQUEST_URI}" matchType="IsFile" negate="true" /></conditions>
Вы должны убедиться, что ваши изображения не соответствуют правилам. - person Peter Hahndorf   schedule 11.06.2015