我想使用UrlRewriteNet模块进行URL重写。UrlRewriting.Net即使进行了简单重写也无法正常工作
虽然我已经添加了所有必需的配置设置,但即使对于简单的重写,似乎也没有采取任何操作。
的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开发电脑中使用开发,但发布生产服务器将IIS 6这就是为什么我将这两个配置都包含在web.config中。
不幸的是,在任何原因没有错误的情况下,检查了IIS并看到模块已在模块部分注册,但引擎从未运行!
有什么我想念的吗?
你确实有一个名为MyDefault.aspx的页面吗?这个规则说的是,如果有人输入URL Default.aspx(假设这个页面不存在),那么它将映射到MyDefault.aspx - URL将保持不变。 –
我需要做的事情凯文实际上是,当这个用户输入URL Default.aspx显示在地址栏MyDefault.aspx。似乎我错过了一些.....你能提供一个我需要的重写规则吗? –
这不是URL重写的工作原理 - 关键是你可能有一个乱七八糟的URL,比如default.aspx?q1 =用户难以记住和输入的变量,相反,你可以创建一个重写规则,允许他们输入/变量/ MyFriendlyName.aspx重写规则将其映射回第一个URL,以便页面可以正确呈现,但用户看到的URL不会更改 –