AEM Dispatcher:由于重写规则更改,导航URL将重定向到英语站点
本文介绍如何解决Adobe Experience Manager (AEM)中的一个问题:由于Dispatcher配置或重写规则更改,本地化站点上的导航链接错误地把用户重定向到英语站点。
描述 description
环境
Adobe Experience Manager (AEM),所有版本,使用Dispatcher进行URL重写和缓存。
症状
- 本地化网站(例如中文或日文)上的导航链接将用户重定向到英文版本(例如:
/en),而不是预期的本地化页面。 - 全局导航中的所有URL都将附加
/en,无论用户使用何种区域设置。 - 问题存在于目标环境中,但不存在于导航按预期工作的参考环境中。
- 未显示错误消息,但导航不会路由到正确的本地化内容。
原因
最近对Dispatcher配置的更改引入了重写规则或映射差异,导致所有导航链接默认使用英文站点(/en),而不是遵循预期的区域设置。 这通常是由于Dispatcher配置文件中缺少或更改了特定于语言的重写规则所致。
解决方法 resolution
请按照以下步骤解决问题:
-
查看最近的Dispatcher配置更改:
-
比较受影响的环境和已知良好的参考环境之间的Dispatcher配置文件(例如
dispatcher_vhost.conf和rewrite.rules)。 -
重点关注处理不同区域设置的语言代码路由和URL映射的规则(例如:
/jp、/cn、/en)。
-
-
恢复或更正Dispatcher重写规则:
-
识别负责特定于区域设置的路由的任何丢失或更改的重写规则。
-
确保该配置不默认为
/en的所有导航。
-
-
验证资源解析程序和虚名URL映射:
- 在发布实例上,确认所有支持的区域设置存在资源解析器映射和虚URL配置。
-
将配置更新应用到目标环境:
-
部署更正后的Dispatcher配置。
-
在进行更改之前对当前配置文件进行备份。
-
-
清除Dispatcher和CDN缓存:
- 更新配置后,请清除Dispatcher缓存和任何CDN缓存,以确保立即反映更改。
-
验证导航行为:
- 测试所有受影响的本地化站点上的导航,以确认URL路由到正确的本地化页面,并且不再默认为
/en。
- 测试所有受影响的本地化站点上的导航,以确认URL路由到正确的本地化页面,并且不再默认为
recommendation-more-help
experience-cloud-kcs-help-kbarticles