Sitecore-301重定向,用于类似的URL

时间:2018-07-15 14:04:00

标签: redirect iis sitecore url-redirection

如SEO所建议,我正在尝试将相似的URL重定向到一个URL。 例如,

1)http://www.example.com/en/contact-us

2)http://www.example.com/en/contact%20us

3) http://www.example.com/en/contact-us/

以上三个网址将我们带到Sitecore中的同一项目。因此,我想将粗体的URL设置为主URL,而其他两个URL应该具有301重定向。

我尝试在IIS中添加重写规则,并且可以获取第一个要重定向的URL。但是,第二个URL不会重定向到第三个URL。参见下面的配置。

Web.config

Device being used: "Built-in Microphone"

Audio initialisation error: NoError
Audio initialisation state: StoppedState 

QObject::startTimer: Timers can only be used with threads started with QThread
Audio stream start error: NoError
Audio stream start state: IdleState 

"Unknown error"

rewritemaps.config

<rewrite>    
    <rules>
        <rule name="Redirect rule">
            <match url=".*" />
            <conditions>
              <add input="{HTTP_HOST}" pattern=".*example\.com.*" />
              <add input="{ExamplePermanent:{REQUEST_URI}}" pattern="(.+)" />
              </conditions>
              <action type="Redirect" url="{C:1}" appendQueryString="false" 
                     redirectType="Permanent" />
            </rule>
    </rules>
    <rewriteMaps configSource="rewritemaps.config" />
</rewrite>

要使第二个URL重定向到301,是否需要进行任何配置?

1 个答案:

答案 0 :(得分:0)

IIS会将%20解码为一个空格,因此只需在rewritemaps中将其替换为空格即可。

 <add key="/en/contact us" value="/en/contact-us/" />