0

I'm still very new to using URL rewrites and redirects and I'm having some problems on something I thought was quite simple...

I've just rebuilt a website and want to redirect the old URLs to the new ones.

For example:

http://www.mydomain.com/about.asp?lang=1<br>

Should now be:

http://www.mydomain.com/content.asp?id=100230&title=about&langid=1

Unfortunately, everything I've tried is giving me errors or simply does nothing.

Here is one rule I tried:

<rule name="redirectoldabout" enabled="true" stopProcessing="true">
    <match url="( .*)" negate="true" />
    <conditions>
    <add input="{HTTP_HOST}" pattern="^mydomain\.com/about\.asp\?lang=1$" />
    </conditions>
    <action type="Redirect" url="http://www.mydomain.com/content.asp?id=100230&title=about&langid=1" redirectType="Permanent" />
</rule>

but I get an error back:

HTTP Error 500.19 - Internal Server Error The requested page cannot be accessed because the related configuration data for the page is invalid.

Any suggestions as to what I'm doing wrong?

1 Answer 1

0

Forget the 301 in your web.config for now.

Enter this in your global.asax file near the bottom:

    Sub Application_BeginRequest(ByVal sender As Object, ByVal e As EventArgs)
    If (HttpContext.Current.Request.Url.ToString().ToLower().Contains(
"http://www.mydomain.com/about.asp?lang=1")) Then

        HttpContext.Current.Response.Status =
            "301 Moved Permanently"
        HttpContext.Current.Response.AddHeader("Location",
            Request.Url.ToString().ToLower().Replace(
                "http://www.mydomain.com/about.asp?lang=1",
                "http://www.mydomain.com/content.asp?id=100230&title=about&
                 langid=1"))

    End If
        End Sub

Save and upload. This will take care of the issue.

If you're more comfortable editing your web.config, see this link on SE for more information.

2
  • thanks very much for your reply... i would rather use the web.config as i already have some redirects there (redirecting from mydomain.com to www.mydomain.com for example)... i checked the link you provided to stackoverflow and found something there which helped... my working rule : '<rule name="About Us redirect from old site" stopProcessing="true"> <match url="^(.*)$" /> <conditions logicalGrouping="MatchAll"> <add input="{REQUEST_FILENAME}" pattern="about.asp" /> </conditions> <action type="Redirect" redirectType="Permanent" url="content.asp?id=100230" /> </rule>'
    – Dog
    Nov 13, 2012 at 15:05
  • Glad to hear you worked things out! Nov 13, 2012 at 23:36

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.