使用Sitecore在网址中强制使用语言前缀

时间:2014-01-15 09:41:33

标签: asp.net-mvc sitecore sitecore7

是否有设置强制使用网址中的语言?就像,如果我浏览http://www.site.com,我应该被重定向到http://www.site.com/en,因为现在我可以看到没有语言前缀的起始页面。

LinkManager配置为始终放入前缀,以便所有链接至少看起来很好。

2 个答案:

答案 0 :(得分:6)

另一种使用方式是SEO Friendly URL Module

此模块实现了一个自定义LinkProvider,提供了SEO友好URL,并强制通过友好URL访问项目。
因此,如果访问的项目没有网址中的语言代码(例如/my-item),则模块将301重定向到带有语言代码的网址(例如/en/my-item)。 也就是说,如果您已将其配置为强制使用友好网址(forceFriendlyUrl="true")并设置languageEmbedding="always"

我们在corporate website上使用该模块,因此请查看该模块以了解其实际效果。

答案 1 :(得分:0)

您可以使用ISS URL Rewrite重定向/到/ en

在IIS上安装该模块,然后设置规则。 它可以从IIS gui或web.config

完成

我正在使用此规则来做同样的事情。

在web.config

的system.webServer部分中插入以下配置
<system.webServer>
    <rewrite>
        <rule name="redirert / to en" stopProcessing="true">
                <match url=".*" />
                <conditions logicalGrouping="MatchAny">
                    <add input="{PATH_INFO}" pattern="^/$" />
                </conditions>
                <action type="Redirect" url="/en/" redirectType="Permanent" />
            </rule>
        </rules>
    </rewrite>
</system.webServer>

它会将每个请求“/”重定向到“/ en”