Sitecore - 类似 URL 的 301 重定向
Sitecore - 301 redirection for similar URLs
根据 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/
以上三个 URL 将我们带到 Sitecore 中的同一项目。所以我想将粗体的 URL 设为主 URL,其他两个 URL 应该有一个 301 重定向到它。
我尝试在 IIS 中添加重写规则,并且可以获得第一个 URL 重定向。但是,第二个 URL 没有重定向到第三个 URL。见下面的配置。
Web.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>
rewritemaps.config
<rewriteMaps>
<rewriteMap name="ExamplePermanent">
<add key="/en/contact-us" value="/en/contact-us/" />
<add key="/en/contact%20us" value="/en/contact-us/" />
</rewriteMap>
<rewriteMaps>
是否需要进行任何配置才能使用 301 进行第二次 URL 重定向?
IIS 会将 %20 解码为 space,因此只需在 rewritemaps 中将其替换为 space:
<add key="/en/contact us" value="/en/contact-us/" />
根据 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/
以上三个 URL 将我们带到 Sitecore 中的同一项目。所以我想将粗体的 URL 设为主 URL,其他两个 URL 应该有一个 301 重定向到它。
我尝试在 IIS 中添加重写规则,并且可以获得第一个 URL 重定向。但是,第二个 URL 没有重定向到第三个 URL。见下面的配置。
Web.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>
rewritemaps.config
<rewriteMaps>
<rewriteMap name="ExamplePermanent">
<add key="/en/contact-us" value="/en/contact-us/" />
<add key="/en/contact%20us" value="/en/contact-us/" />
</rewriteMap>
<rewriteMaps>
是否需要进行任何配置才能使用 301 进行第二次 URL 重定向?
IIS 会将 %20 解码为 space,因此只需在 rewritemaps 中将其替换为 space:
<add key="/en/contact us" value="/en/contact-us/" />