I hope this isn't the first time i'm asking this question on SO.
I've URLs in my website and which are using query string values
For example: http://foo.com/xyzPage.aspx?barvalue=yehaa
to
http://yehaa.foo.com/
Please suggest how it can be accomplished without actually creating subdomains on server ..
I've IIS 7.5 installed on server machine and using Asp.net 4.0.
Many thanks
EDIT following our comments:
To access http://foo.com/xyzPage.aspx?barvalue=yehaa using http://yehaa.foo.com/, you have to use the following rule:
<rules>
    <rule name="Rewrite subdomains">
        <match url="^/?$" />
        <conditions>
            <add input="{HTTP_HOST}" pattern="^(.+)\.foo\.com$" />
        </conditions>
        <action type="Rewrite" url="http://foo.com?barvalue={C:1}" />
    </rule>
</rules>
It matches every url ending or not with a / and using something before foo.com and then rewrites it to http://foo.com?barvalue={C:1} where {C:1} is whatever value was entered before foo.com.
If you want to prevent people from accessing directly to http://foo.com?barvalue={C:1}, you can use the rule below.
You could use the Rewrite module for IIS by adding the following rule in your web.config file:
<rewrite>
    <rules>
        <rule name="Redirect to Subdomains" stopProcessing="true">
            <match url="^xyzPage.aspx$" />
            <conditions>
                <add input="{QUERY_STRING}" pattern="^barvalue=(.+)$" />
            </conditions>
            <action type="Redirect" url="http://{C:1}.{HTTP_HOST}" appendQueryString="false" />
        </rule>
    </rules>
</rewrite>
It checks if the url matches exactly xyzPage.aspx (nothing before or after).
It checks if the querystring contains the barvalue parameter (and only this one) and if its value is not empty.
If those 2 conditions are ok, it triggers the Redirect to http://barvalue.original.host.
Your question specify Rewrite, so if this is really what you want to do, change the action type="Redirect" to type="Rewrite".
Important: you may need the Application Request Routing module installed and setup with the proxy mode enabled to Rewrite to a different domain.
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