我想使用UrlRewriteNet模块进行网址重写。
虽然我已经添加了所有必需的配置设置,但即使是简单的重写也似乎没有任何动作。
的web.config:
<configuration>
<configSections>
<!-- URL Rewriting.NET -->
<section name="urlrewritingnet"
restartOnExternalChanges="true"
requirePermission="false"
type="UrlRewritingNet.Configuration.UrlRewriteSection, UrlRewritingNet.UrlRewriter" />
</configSections>
<system.web>
<httpModules>
<add name="UrlRewriteModule" type="UrlRewritingNet.Web.UrlRewriteModule, UrlRewritingNet.UrlRewriter"/>
</httpModules>
</system.web>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true">
<remove name="UrlRewriteModule"/>
<add name="UrlRewriteModule" type="UrlRewritingNet.Web.UrlRewriteModule, UrlRewritingNet.UrlRewriter" />
</modules>
</system.webServer>
<urlrewritingnet
xmlns="http://www.urlrewriting.net/schema/config/2006/07">
<rewrites>
<add name="GeneralRewrite"
virtualUrl="^~/Default.aspx"
rewriteUrlParameter="ExcludeFromClientQueryString"
destinationUrl="~/MyDefault.aspx"
ignoreCase="true"
/>
</rewrites>
</urlrewritingnet>
</configuration>
据我所知,只需将Deafault.aspx页面重写为MyDefault.aspx即可。因此,我希望我https://server.address/Project.SiteName/Default.aspx的网址变为https://server.address/Project.SiteName/MyDefault.aspx。
我在本地IIS 7 Windows 7开发PC中使用开发,但是发布生产服务器将是IIS 6,这就是我将这两种配置都包含在web.config中的原因。
不幸的是,在没有任何错误的情况下,检查了IIS并看到模块已在模块部分注册,但引擎永远不会运行!
我有什么想念的吗?
答案 0 :(得分:3)
以下列方式制作以上内容
<configuration>
<configSections>
<section name="urlrewritingnet"
restartOnExternalChanges="true"
requirePermission ="false"
type="UrlRewritingNet.Configuration.UrlRewriteSection,
UrlRewritingNet.UrlRewriter" />
</configSections>
</configuration>
然后是重写部分重写网址
<urlrewritingnet>
<rewrites>
你的网址将在这里映射.....
</rewrites>
</urlrewritingnet>
最后需要http模块来监听请求。
<system.web>
<httpModules>
<add name="UrlRewriteModule"
type="UrlRewritingNet.Web.UrlRewriteModule, UrlRewritingNet.UrlRewriter" />
</httpModules>
</system.web>
除此之外,无需在web.config中完成配置,只需引用dll(必填) 和intellisense的.xsd文件 http://blog.vizioz.com/2009/11/add-intellisense-when-using-url.html
答案 1 :(得分:0)
打开Web.config并添加模块
<configuration>
<system.webserver>
<modules>
<add name="UrlRewriteModule" type="UrlRewritingNet.Web.UrlRewriteModule, UrlRewritingNet.UrlRewriter"/>
<remove name="Session"/>
<add name="Session" type="System.Web.SessionState.SessionStateModule"/>
</modules>
</system.webServer>
</configuration>