我有一个网站,一旦登录就会导航到另一个域。 我需要通过删除URL的aspx页面并添加它导航到的域名来重新编写url。我还想在https页面中重写URL,该页面将从http页面重定向。 例如: - 从网站www.xyz.com它已被重定向到www.abc.com.so网址应显示为www.abc.com/xyz 任何人都可以帮我这个吗?
答案 0 :(得分:1)
这通常在ASP.NET MVC中完成,这称为ASP.NET Routing。这也适用于ASP.NET WebForms。
您还可以使用名为IIS Rewrite的IIS模块,如果您知道它是如何工作的,这有点像Apaches mod_rewrite。
Here是关于如何使其发挥作用的教程。
从MSDN关于ASP.NET路由:
在Web窗体应用程序中,您创建 使用的路线 MapPageRoute(String,String,String) RouteCollection类的方法。 MapPageRoute方法创建一个 路由对象并将其添加到 RouteCollection对象。你指定 Route对象的属性 您传递给的参数 MapPageRoute方法。
通常,您在方法中添加路线 从处理程序调用 中的Application_Start事件 Global.asax文件。这种方法使 确保路线可用 当应用程序启动时。它也是 使您可以调用该方法 直接在你进行单元测试时 应用。如果你想打电话给 单元测试时直接的方法 应用程序,注册方法 路由必须是静态的(共享在 Visual Basic)并且必须有一个 RouteCollection参数。
以下示例显示了代码 添加路由的Global.asax文件 定义两个URL参数的对象 命名动作和categoryName。网址 具有指定模式的是 定向到名为的物理页面 Categories.aspx。
这是你的Global.asax:
protected void Application_Start(object sender, EventArgs e)
{
RegisterRoutes(RouteTable.Routes);
}
public static void RegisterRoutes(RouteCollection routes)
{
routes.MapPageRoute("",
"Category/{action}/{categoryName}",
"~/categoriespage.aspx");
}
答案 1 :(得分:1)
您可以使用URL重写模块。这里有一些例子:
http://learn.iis.net/page.aspx/460/using-the-url-rewrite-module/