我正在使用URLRewriter,但是存在问题,它会重写所有地址,即使对于图片网址也是如此,例如,它会显示http://localhost/images/logo.png的网页。
这是我的web.config
<?xml version="1.0"?>
<configuration>
<configSections>
<section name="rewriter"
requirePermission="false"
type="Intelligencia.UrlRewriter.Configuration.RewriterConfigurationSectionHandler, Intelligencia.UrlRewriter" />
</configSections>
<system.web>
<compilation debug="true" targetFramework="4.0" />
<httpModules>
<add name="UrlRewriter" type="Intelligencia.UrlRewriter.RewriterHttpModule, Intelligencia.UrlRewriter" />
</httpModules>
</system.web>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true">
<add name="UrlRewriter" type="Intelligencia.UrlRewriter.RewriterHttpModule" />
</modules>
<validation validateIntegratedModeConfiguration="false" />
</system.webServer>
<rewriter>
<rewrite url="~/pages/(.+)" to="~/default.aspx?pn=$1" />
</rewriter>
</configuration>
我希望它只重写.aspx文件。
答案 0 :(得分:0)
rewrite元素中的url属性是.Net regular expression,此时你所拥有的表达式匹配〜/ pages /下的任何内容。如果您只想匹配.aspx文件,最简单的方法是将其更改为:
<rewrite url="~/pages/(.+\.aspx)" to="~/default.aspx?pn=$1" />