【问题标题】:URL Mapping - Change Default.aspx to virtual page after first page loadURL 映射 - 在第一页加载后将 Default.aspx 更改为虚拟页面
【发布时间】:2014-12-26 15:28:41
【问题描述】:

我想要虚拟页面而不是 Default.aspx,例如:
www.mydomain.com/Default.aspx -> www.mydomain.com/Virual-Page
在浏览器中打开我的网址后。

如何更改 web.config 以实现该目标?

web.config 中的以下代码不起作用....

<urlMappings enabled="true">
  <add url="~/Virtual-Page" mappedUrl="~/Default.aspx"/>
</urlMappings>

【问题讨论】:

    标签: c# asp.net visual-studio-2013 url-mapping


    【解决方案1】:

    你需要这个包:ASP.NET Friendly URL's如何实现可以在Hanselman's Blog找到

    将此添加到您的 global.asax 文件中

    void Application_Start(object sender, EventArgs e)
    {
            RouteConfig.RegisterRoutes(RouteTable.Routes);
    }
    

    在 Global.asax 文件顶部添加引用,如下所示:

    using System.Web.Routing;
    

    这会自动重写您的网址。

    如果要保留 default.aspx,请使用 URL 映射:

    <urlMappings enabled="true">
        <add url="~/Virtual-Page" mappedUrl="~/default.aspx" />
    </urlMappings>
    

    添加重写规则以重定向您的基本 URL,使用 URL Rewrite

    <system.webServer>
      <rewrite>
        <rules>
          <rule name="Rewrite to Virtual-Page">
            <match url="(.*)" />
            <action type="Redirect" url="~/Virtual-Page" redirectType="Permanent" />
          </rule>
        </rules>
        </rewrite>
      </system.webServer>
    

    如果您不能使用 URL 重写,请在 global.asax 开始请求中添加一个 response.redirect:

    void Application_BeginRequest(object sender, EventArgs e)
        if (!HttpContext.Current.Request.Url.ToString().ToLower().Contains("http://localhost/Virtual-Page"))
        {
                    HttpContext.Current.Response.Redirect(HttpContext.Current.Request.Url.ToString().ToLower().Replace("http://localhost/", "http://localhost/Virtual-Page"));
        }
    

    【讨论】:

    • 那么我如何使用它来修复起始页?
    • 我已经添加了代码。如果您想更改启动页面,您可以像我在答案中所说的那样执行此操作。您不需要为此进行 URL 映射。
    • 您的答案是解释 URL 路由。我测试了所有这些 -> URL 映射、URL 重写、URL 映射。所有这些都可以将目标 url 映射到虚拟路径。但我的问题是 Default.aspx 主页,我根本不想更改它的名称。
    • 请告诉我一种将 Default.aspx 更改为虚拟页面的简单方法。就是这样......重命名该页面不是我的答案!
    • 您使用的代码适用于此,请确保您在浏览器中访问 domain.com/virtual-page
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多