AEM Dispatcher:由于重写规则更改,导航URL将重定向到英语站点

本文介绍如何解决Adobe Experience Manager (AEM)中的一个问题:由于Dispatcher配置或重写规则更改,本地化站点上的导航链接错误地把用户重定向到英语站点。

描述 description

环境

Adobe Experience Manager (AEM),所有版本,使用Dispatcher进行URL重写和缓存。

症状

  • 本地化网站(例如中文或日文)上的导航链接将用户重定向到英文版本(例如: /en),而不是预期的本地化页面。
  • 全局导航中的所有URL都将附加/en,无论用户使用何种区域设置。
  • 问题存在于目标环境中,但不存在于导航按预期工作的参考环境中。
  • 未显示错误消息,但导航不会路由到正确的本地化内容。

原因

最近对Dispatcher配置的更改引入了重写规则或映射差异,导致所有导航链接默认使用英文站点(/en),而不是遵循预期的区域设置。 这通常是由于Dispatcher配置文件中缺少或更改了特定于语言的重写规则所致。

解决方法 resolution

请按照以下步骤解决问题:

  1. 查看最近的Dispatcher配置更改:

    • 比较受影响的环境和已知良好的参考环境之间的Dispatcher配置文件(例如dispatcher_vhost.confrewrite.rules)。

    • 重点关注处理不同区域设置的语言代码路由和URL映射的规则(例如: /jp/cn/en)。

  2. 恢复或更正Dispatcher重写规则:

    • 识别负责特定于区域设置的路由的任何丢失或更改的重写规则。

    • 确保该配置不默认为/en的所有导航。

  3. 验证资源解析程序和虚名URL映射:

    • 在发布实例上,确认所有支持的区域设置存在资源解析器映射和虚URL配置。
  4. 将配置更新应用到目标环境:

    • 部署更正后的Dispatcher配置。

    • 在进行更改之前对当前配置文件进行备份。

  5. 清除Dispatcher和CDN缓存:

    • 更新配置后,请清除Dispatcher缓存和任何CDN缓存,以确保立即反映更改。
  6. 验证导航行为:

    • 测试所有受影响的本地化站点上的导航,以确认URL路由到正确的本地化页面,并且不再默认为/en
recommendation-more-help
experience-cloud-kcs-help-kbarticles