简体   繁体   中英

hide page url asp.net

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

参见ScottGu对此问题的解释: 技巧:使用ASP.NET进行网址重写

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.

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

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

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

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.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM