Juhi
Juhi

Reputation: 270

URL rewriting with space & "+" symbol in web.config

I want to redirect my old url "http://staging.TempSite.com/about-us/Institute-+target/%20"

to new url ""http://staging.TempSite.com/about-us/news-events""

<rule name="rule59" stopProcessing="true">
<match url="(.*)" />
<conditions logicalGrouping="MatchAny" trackAllCaptures="false">
  <add input="{HTTP_HOST}{REQUEST_URI}" pattern="staging.TempSite.com/about-us/Institute-\+target/\s*" />
</conditions>
<action type="Redirect" url="./about-us/news-events" />

i also tried followoing patterns.

pattern="staging.TempSite.com/about-us/Institute-\+target/\s*$" 
pattern="staging.TempSite.com/about-us/Institute-\+target/ $"

Upvotes: 2

Views: 1576

Answers (1)

Victor Leontyev
Victor Leontyev

Reputation: 8736

@Wiktor Stribiżew comment is almost correct, but it will not work. If you have + in your URL, you need to enable allowDoubleEscaping in your config. Example of config:

 <system.webServer>
    <security>
        <requestFiltering allowDoubleEscaping="true"/>
    </security>
    <rewrite>
       <rules>
            <rule name="rule59" stopProcessing="true">
                <match url="^about-us/Institute\-\+target/\s*$" />
                <action type="Redirect" url="/about-us/news-events" />
            </rule>
        </rules>
    </rewrite>
</system.webServer>

Upvotes: 1

Related Questions