是否有强制URL中语言的设置?就像,如果我浏览到http://www.site.com,我应该重定向到http://www.site.com/en,因为现在我可以看到没有语言前缀的起始页面。使用Sitecore在URL中强制使用语言前缀
LinkManager
配置为始终放入前缀,以便所有链接至少看起来很好。
是否有强制URL中语言的设置?就像,如果我浏览到http://www.site.com,我应该重定向到http://www.site.com/en,因为现在我可以看到没有语言前缀的起始页面。使用Sitecore在URL中强制使用语言前缀
LinkManager
配置为始终放入前缀,以便所有链接至少看起来很好。
用另一种方式是我们SEO Friendly URL Module 。
该模块实现了一个自定义LinkProvider
,它提供了搜索引擎友好的URL,并强制通过他们友好的URL访问项目。
因此,如果在URL中没有语言代码访问项目(例如/my-item
),模块将301重定向到带有语言代码的URL(例如/en/my-item
)。
也就是说,如果您已将其配置为强制使用友好URL(forceFriendlyUrl="true"
)并设置languageEmbedding="always"
。
我们在我们的corporate website上使用该模块,因此请看看它的实际运行情况。
您可以使用ISS URL Rewrite重定向/到/ EN
上安装IIS该模块,并设置一个规则。 它可以从IIS gui或web.config中完成
我正在使用此规则来执行相同操作。
插入在system.webServer节以下配置web.config中
<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>
它将每个请求重定向hitten “/” 到 “/ EN”
当然这在技术上是错误的,因为它无法解释“Accept-Language”。 – MSalters
是否有允许尾部斜线的配置? –
嗨Mikael,我已经添加了配置如何处理尾部斜线的选项,并将其放入版本1.0.4。它现在在GitHub上提供:https://github.com/ParTech/Seo-Friendly-Url –