简体   繁体   中英

How to redirect a url only with specific parameters in IIS

I have a url that looks like this:

www.mywebsite.com/page.aspx?code=1.a

I want to redirect this URL via IIS to:

www.mywebsite.com/page.aspx?code=1.b

I would like to do this through IIS and not within the code.

I have various other website urls that look like:

www.mywebsite.com/page.aspx?code=2
www.mywebsite.com/page.aspx?code=3.a
www.mywebsite.com/page.aspx?code=6.c

I don't want these to be affected.

Thanks.

An easy way to do this in IIS 7.5 is to install the URL Rewrite extension from Microsoft into IIS.

http://www.iis.net/downloads/microsoft/url-rewrite

Once you have it installed, you can just add a rule to redirect from ?code=1.a to ?code=1.b . In IIS, you'll see a new entry called URL Rewrite under the IIS heading for your website. You can use the editor there to create a new rule. Once the rule is created, it will be written into your web.config file.

In the web.config file, the rule should look something like this:

<system.webServer>
    ...
    <rewrite>
        <rules>
            <rule name="Code=1.a redirect" patternSyntax="ExactMatch" 
                  stopProcessing="true">
                <match url="page.aspx" />
                <action type="Redirect" url="page.aspx?code=1.b"
                        appendQueryString="false" redirectType="Permanent" />
                <conditions>
                    <add input="{QUERY_STRING}" pattern="code=1.a" />
                </conditions>
            </rule>
        </rules>
    </rewrite>
    ...
</system.webServer>

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