我们的网站使用"子文件夹"用于指定语言(例如www.domain.com/nl或www.domain.com/en)。默认语言为Dutch(nl)。目前,访问者都可以通过指定的语言(例如www.domain.com/nl)或根域(例如www.domain.com)访问网页。
出于搜索引擎优化的目的,我们希望将访问根目录的所有用户重定向(强制执行)为特定语言(nl)(例如www.domain.com/page/1至www.domain.com/nl/page/1)。
以前的方法(使用web.config重写规则)导致(无限)循环(例如www.domain.com/nl/nl/nl/nl/nl/nl/nl/etc。)。
我知道这个主题Rewrite Rule to enforce default lang code in URL描述了如何在.htaccess中执行此操作,但我不知道如何将其转换为web.config。
提前致谢: - )
答案 0 :(得分:1)
试试这个
<configuration>
<system.webServer>
<rewrite>
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" /> <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" /> <add input="{REQUEST_URI}" pattern="^/umbraco/" negate="true" /> <add input="{REQUEST_URI}" pattern="^/install/" negate="true" /> <add input="{REQUEST_URI}" pattern="^/nl/" negate="true" />
</conditions>
<rules>
<rule name="Language" stopProcessing="true">
<match url="^/nl" negate="true" />
<action type="Redirect" url="/nl/{R:0}" redirectType="Permanent" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
上述规则会将所有www.domain.com/sub/sub重定向到www.domain.com/nl/sub/sub