Thanks both, I may have worded the question slightly oddly... so...
What I need is to have the URL entered by the user in the browser as any of the above, such as
/a/b/c/d/e/f/g/?type=a¶m=b
From there I rewrite the url to /pages/pageType/TypeA/B/ (for example)
That bit I have working and the page is displayed correctly by Kentico. However I need the URL to remain as what was typed in and not be re-encoded to it's proper URL - everything Kentico is doing to display the page is correct however it's detecting the entered URL is not valid for the page and so is redirect me which is the part I want it to not do.
The issue I have at hand is that the URL is complicated and will be over 1000 different URL cominbations at the launch of the site and will grow exponentially as the site is populated by the client. Part of the URL is to know who the user is, where the user came from and what they're about to do (amongst other things) all of which are dynamic - I have a RegEx pattern which works and does the translation, my issue is the 301 redirect Kentico is doing "to be helpful". I just need it to serve the page on the rewritten URL and not an alias check.
I think this might explain what I'm trying to achieve...
If I put in web.config's URLRewrite section this:
<rewrite>
<rules>
<rule name="Redirect all to /" stopProcessing="true">
<match url="/path1" />
<action type="Rewrite" url="/" />
</rule>
<rule name="Redirect all to /" stopProcessing="true">
<match url="/path2" />
<action type="Rewrite" url="/" />
</rule>
</rules>
</rewrite>
What I would expect to see is the user type in <site>/path1 and have the homepage show, likewise for /path2 however the URL would not say "/" in the browser.