问题
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:
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
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.
来源:https://stackoverflow.com/questions/5067767/hide-page-url-asp-net