hide page url asp.net

2020-04-20 12:20发布

问题:

I want to hide page name in browser.

For example;

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

I want to appear all sites like this: www.mysite.com

How can I do this in asp.net 3.5 with IIS 6.0.

Thanks

回答1:

See ScottGu's explanation about this issue here : Tip/Trick: Url Rewriting with ASP.NET



回答2:

use ajax to load your content or use one big <frameset>.

But, don't do it. It will break the possibility for users to make bookmarks, make it harder / impossible for Google to crawl your website.



回答3:

Obfuscating the actual URL is very bad practice both in usability and debugging.

If you really, really need to do it you can use HTML frames by having a parent frameset page at your desired url and your actual pages in a full-width full-height frame inside the frameset.

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



回答4:

You can use Uri. Create a new Uri object and then use the Host method.



回答5:

how do you identify what page you should use?

Your could use url rewriting module(iis) for friendly urls like these:

www.mysite.com/page/1

www.mysite.com/page/2

www.mysite.com/page/3



回答6:

If you are desperate and having trouble with other options you could do the follow. I definitely wouldn't recommend this approach because it's ugly but it would probably get the job done:

  1. On www.mysite.com/page[1|2|3].aspx Page_Load method, issue a Response.Redirect("www.mysite.com/") if and only if Request.UrlReferrer is not www.mysite.com/page[1|2|3].aspx

  2. On www.mysite.com/[default.aspx], issue a Server.Transfer("page[1|2|3].aspx") if the Request.UrlReferrer is www.mysite.com/page[1|2|3].aspx. Server.Transfer will pull the page on the server side and respond with the result, rather than issuing a 301 redirect so the user will still see www.mysite.com/ on their browser.



标签: c# asp.net iis-6