I have a current system using IIS 6 and 7, written in ASP.NET with C# in .NET 4.
My purpose is to hide the url completely (as per client request). i.e. https://myapp.it.mydomain.com/Secure/folder1/folder2/folder3/someView.aspx must be https://myapp.it.mydomain.com/ or at least a unfirm non changing page: https://myapp.it.mydomain.com/constantView.aspx
Currently, we make use of Response.Redirect
for all navigation items, and some direct links.
We also have some minor usage of query strings, but more dependent on cross-page post backs.
We do not have any means of URL masking in place and are looking to provide a mechanism to do so.
I'm already aware of a few method to perform URL Masking, but would like SO's opinion in the easiest to implement solution.
Easiest, is referring to time to implement. i.e. Changing our calls to use Server.Transfer exclusively is not an option.
ASP.NET Routing
seems like a fair solution, but needs work on all query strings as I understand it, to map where we need them to. I am not clear if this can provide hiding for all pages instead of one to one mapping.
Using framesets/iFrames is also not an option, as it causes many complications with the existing solution.
As I understand it, the URL Rewrite Module
may be my best solution.
I'm hoping this question can lead to a good list of possibly solutions, and perhaps methods that I have not already been made aware of.
edit
A more clear question with current situation:
We are using IIS 6 (thus the IIS 7 rewrite module is out of the question). Is there a way to provide URL cloaking/masking which will not break existing code which uses Page.Referrer (in ASP.NET) and query strings?
The idea is to make the address bar always appear to be the same. Even a JavaScript hack is acceptable.
You have an excellent breakdown of all the possible solutions for your purpose here: http://weblogs.asp.net/scottgu/archive/2007/02/26/tip-trick-url-rewriting-with-asp-net.aspx
But based on your request, I personally think that URL rewriting is your best bet, as you would only need to add rewriting rules in the web.config file, so its the easiest to implement solution. For IIS6 I myself in the past have used Intelligencia UrlRewriter.NET
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With