我正在使用urlrewriting.net来重定向级联样式表图像请求。我一直在努力,没有运气这样做。这是我添加的重写:
<add name="reportImagesRedirect"
virtualUrl="^~/estadisticas/(.*).png"
rewriteUrlParameter="ExcludeFromClientQueryString"
destinationUrl="~/images/$1"
ignoreCase="true" />
我想知道它是否有问题。我正在尝试将对一个文件夹的所有http get请求链接到重定向到images文件夹。例如,当我提出这样的请求时
http://localhost:8080/estadisticas/spines.png
我希望网络服务器能够在
中查看图像答案 0 :(得分:1)
你需要翻转它。
<add name="reportImagesRedirect"
destinationUrl="~/images/$1.png"
rewriteUrlParameter="ExcludeFromClientQueryString"
virtualUrl="^~/estadisticas/(.+).png$"
ignoreCase="true" />
Here是我在使用UrlRewriting.Net写的无扩展网址时写的一篇文章。
编辑:我稍微更改了参数。如果要保留扩展名,则需要在虚拟目标和目标的末尾都有.png编辑:您可能还需要对system.webServer标记进行以下修改
<system.webServer>
<modules runAllManagedModulesForAllRequests="true">
</modules>
</system.webServer>
答案 1 :(得分:0)
您可能需要设置wildcard mapping。 IIS默认情况下不会将除ASP.NET文件(.aspx,.asmx,.axd,.ashx等)之外的任何请求转发给ASP.NET处理程序。由于您的重写器在ASP.NET处理程序中运行,因此对图像的请求永远不会到达它。添加通配符映射会强制IIS让ASP.NET(以及重写处理程序)处理所有请求,包括图像。