2014-01-15 35 views

回答

6

用另一种方式是我们SEO Friendly URL Module

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

我们在我们的corporate website上使用该模块,因此请看看它的实际运行情况。

+0

是否有允许尾部斜线的配置? –

+0

嗨Mikael,我已经添加了配置如何处理尾部斜线的选项,并将其放入版本1.0.4。它现在在GitHub上提供:https://github.com/ParTech/Seo-Friendly-Url –

0

您可以使用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”

+1

当然这在技术上是错误的,因为它无法解释“Acc​​ept-Language”。 – MSalters