是否有设置强制使用网址中的语言?就像,如果我浏览http://www.site.com,我应该被重定向到http://www.site.com/en,因为现在我可以看到没有语言前缀的起始页面。
LinkManager
配置为始终放入前缀,以便所有链接至少看起来很好。
答案 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”