我使用此解决方案优化 url,一切正常,但丹麦字符(æ 和 ø)存在问题,应替换为“a”和“o”。我在 Web.config 中使用了这个:
<replace mode="on" find="æ" replaceWith="a" />
<replace mode="on" find="ø" replaceWith="o" />
Urls 看起来不错,但是当我尝试通过此链接时,我收到 404 错误,并且如果我在打开的 url 页面中手动将“a”更改为“æ”。请帮帮我!:)
请记住,替换是两种方式。生成的 URL 将用 a 代替 æ。在查找项目时,传入的 URL 将替换为 æ。
由于丹麦语使用这两个字母,在生成 URL 时将 æ 简单地替换为 a 会导致您各种头痛 - 例如项目at-spise-æbler(“吃苹果”)将生成 URL at-spise-abler,这将是在项目查找期间反向替换以尝试找到项目æt-spise-æbler。
为了更加一致,如果您想替换丹麦语字符,您应该将 æ 替换为 ae,将 å 替换为 aa,将 ø 替换为 oe。
如果您还使用替换模式来确保所有 URL 都是小写的(例如<replace mode="on" find="A" replaceWith="a" />
),那么包含“a”的传入 URL 将被解释为包含“A”(假设替换按 web.config 中的条目顺序并且你的小写匹配是第一个 - 如果它是相反的,那么你还有其他问题!)。项目at-spise-æbler仍会生成一个 URL at-spise-abler,但您的项目查找可能首先与 A 匹配,试图找到不存在的 At-spise-Abler 。
双字母替换在这里也无济于事,因为 Sitecore 只会将每个字母与其大写版本匹配
一个更好的解决方案是在创建或编辑项目时实际重命名项目(或其显示名称)。
此链接应该为您指明正确的方向:http ://briancaos.wordpress.com/2007/05/30/sc-53-ensure-item-names/