隐藏页面网址asp.net

时间:2011-02-21 15:26:26

标签: c# asp.net iis-6

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

例如;

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中执行此操作。

由于

6 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:2)

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

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

答案 2 :(得分:2)

在可用性和调试方面,对实际URL进行模糊处理是very bad practice

如果您确实需要这样做,您可以使用HTML框架,方法是在您想要的网址上设置父框架集页面,将实际网页设置在框架集内的全宽全高框架中。

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

答案 3 :(得分:0)

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

答案 4 :(得分:0)

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

您可以使用网址重写模块(iis)来处理这些友好网址:

www.mysite.com/page/1

www.mysite.com/page/2

www.mysite.com/page/3

答案 5 :(得分:0)

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

  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/。