【问题标题】:hide page url asp.net隐藏页面网址 asp.net
【发布时间】:2011-02-21 15:26:26
【问题描述】:

我想在浏览器中隐藏页面名称。

例如;

www.mysite.com/page1.aspx
www.mysite.com/page2.aspx
www.mysite.com/page3.aspx

我想显示所有这样的网站:www.mysite.com

如何在带有 IIS 6.0 的 asp.net 3.5 中执行此操作。

谢谢

【问题讨论】:

  • 这样做的目的是什么?我建议不要这样做,因为您尝试达到的任何结果都可能以更好的方式实现
  • 'www.mysite.com/' 不是有效的虚拟路径。错误??

标签: c# asp.net iis-6


【解决方案1】:

请在此处查看 ScottGu 对此问题的解释:Tip/Trick: Url Rewriting with ASP.NET

【讨论】:

  • 谢谢。但我正在寻找比这更简单的解决方案。我只有这 3 页。
  • 可能我误解了你想要什么。但是,例如,按照本文提到的第一种方法,为这个问题编写一个函数真的很难吗?
【解决方案2】:

使用 ajax 加载您的内容或使用一个大的<frameset>

但是,不要这样做。它将破坏用户制作书签的可能性,使 Google 更难/不可能抓取您的网站。

【讨论】:

  • 同意。不惜一切代价避免 。它在移动设备上也不能很好地播放。
【解决方案3】:

在可用性和调试方面混淆实际 URL 是 very bad practice

如果您真的需要这样做,您可以使用 HTML 框架,方法是将父框架集页面放在您想要的 url 处,并将您的实际页面放在框架集中的全宽全高框架中。

http://www.w3.org/TR/WD-frames-970331

【讨论】:

    【解决方案4】:

    您可以使用Uri。创建一个新的Uri 对象,然后使用Host 方法。

    【讨论】:

      【解决方案5】:

      你如何确定你应该使用哪个页面?

      您可以使用 url 重写模块 (iis) 来获得如下友好的 url:

      www.mysite.com/page/1

      www.mysite.com/page/2

      www.mysite.com/page/3

      【讨论】:

      • 谢谢。但我正在寻找比这更简单的解决方案。我只有这 3 页。我不想在地址栏中显示页面名称。
      【解决方案6】:

      如果您绝望并且在其他选项方面遇到问题,您可以执行以下操作。我绝对不会推荐这种方法,因为它很丑,但它可能会完成工作:

      1. 在 www.mysite.com/page[1|2|3].aspx Page_Load 方法中,当且仅当 Request.UrlReferrer 不是时才发出 Response.Redirect("www.mysite.com/") www.mysite.com/page[1|2|3].aspx

      2. 在 www.mysite.com/[default.aspx] 上,如果 Request.UrlReferrer 是 www.mysite.com/,则发出 Server.Transfer("page[1|2|3].aspx")页[1|2|3].aspx。 Server.Transfer 将在服务器端拉取页面并以结果进行响应,而不是发出 301 重定向,因此用户仍将在其浏览器上看到 www.mysite.com/。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-09-13
        • 2012-02-26
        • 2015-12-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多