【发布时间】:2023-03-15 17:02:01
【问题描述】:
我需要重定向很多 URL,如下所示
http://localhost/OmniService/foto/18443151-810079.jpg
所以,在我的 web.config 中,我设置了以下正则表达式:
<rewrite>
<providers>
<provider name="DB" type="DbProvider, Microsoft.Web.Iis.Rewrite.Providers, Version=7.1.761.0, Culture=neutral, PublicKeyToken=0545b0627da60a5f">
<settings>
<add key="ConnectionString" value="Driver={SQL Server Native Client 10.0};Data Source=localhost\sqlexpress;Initial Catalog=RewriteDB;Integrated Security=True;Server=localhost;uid=sa;pwd=working2014" />
<add key="StoredProcedure" value="RewriteDB.dbo.GetRewrittenUrl" />
<add key="CacheMinutesInterval" value="0" />
</settings>
</provider>
</providers>
<rules>
<rule name="DbProviderTest" stopProcessing="true">
<match url="(OmniService/foto/([0-9]+)-([0-9]+).jpg)" />
<!--<conditions>
<add input="{DB:{R:1}}" pattern="(.+)" />
</conditions>-->
<action type="Redirect" url="(Omniservice/foto/2017/02/02/18443151-810079.jpg)" />
</rule>
</rules>
</rewrite>
如果我使用<match url="(.*)" />,那么我将被重定向到更正后的新 URL,但仍然没有显示任何内容,因为它表示重定向太多。
【问题讨论】:
标签: asp.net sql-server url redirect iis