我有一个在asp.net开发的网站。我想将URL1更改为URL2。 我在global.asax文件中写了几行代码。
void RegisterRoutes(System.Web.Routing.RouteCollection routes)
{
routes.MapPageRoute("mdu-b.ed-admission-process-eligibility-apply-online-2015-16.aspx", "mdu-b.ed-admission-process-eligibility-apply-online-2015-16.aspx", "~/mdu-b.ed-admission-process-and-eligibility-2015-16.aspx");
}
并在Application_Start(对象发送者,EventArgs e)中调用此函数,就像这样
RegisterRoutes(System.Web.Routing.RouteTable.Routes);
情景是;此代码工作正常,但当我打开这样的网址(原始网址形式)http://www.ssbedugroup.com/mdu-b.ed-admission-process-and-eligibility-2015-16.aspx时,它不会打开更改的网址,即http://www.ssbedugroup.com/mdu-b.ed-admission-process-eligibility-apply-online-2015-16.aspx。
你们能为我提供更好的解决方案,我怎样才能解决问题?
答案 0 :(得分:0)
您可以使用IIS的网址重写模块轻松完成此操作。以下web.config配置代码段显示了如何配置它以将源重写到目标URL:
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="MyRule" stopProcessing="true">
<match url="^mdu-b\.ed-admission-process-eligibility-apply-online-2015-16\.aspx$" />
<action type="Redirect" url="http://www.ssbedugroup.com/mdu-b.ed-admission-process-and-eligibility-2015-16.aspx" redirectType="Permanent" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
这有效地将Web服务器配置为每次请求源URL时返回重定向响应,因此用户总是会在浏览器地址栏中看到目标URL。
请记住&#34;匹配&#34;标签接受url的正则表达式,因此你需要转义一些特殊处理的字符,如点,反斜杠,括号等。