如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,是否需要进行任何配置?
答案 0 :(得分:0)
IIS会将%20解码为一个空格,因此只需在rewritemaps中将其替换为空格即可。
<add key="/en/contact us" value="/en/contact-us/" />