You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Apache Rewrite Rules实现AEM资产URL缩短?

AEM Apache Rewrite 短路径映射解决方案

核心需求匹配

你需要实现的是对外暴露/document/[可选子层级]/文件名格式的短URL,内部映射到AEM DAM实际存储的长路径/content/dam/app/document/[可选子层级]/文件名.docx,以下是可直接使用的规则及说明:


规则配置

首先确保Apache已启用mod_rewrite模块,在虚拟主机配置或.htaccess文件中添加如下内容:

基础版本(仅处理无后缀的/document/路径请求)

RewriteEngine On
# 精准匹配所有以/document/开头的请求
RewriteCond %{REQUEST_URI} ^/document/
# 捕获路径后补全AEM前缀与docx后缀
RewriteRule ^/document/(.*)$ /content/dam/app/document/$1.docx [L,PT]

参数说明

  • [L]:匹配到当前规则后停止执行后续Rewrite规则,避免规则冲突
  • [PT]:如果你的Apache通过mod_proxy将请求转发给后端AEM实例,需要添加该标记让重写后的路径可被代理模块识别,纯内部重写场景可省略

优化版本(排除带后缀的请求,避免误匹配)

如果存在/document/xxx.pdf这类已经带后缀的资源需要正常访问,可添加后缀排除规则:

RewriteEngine On
RewriteCond %{REQUEST_URI} ^/document/
# 排除所有已带2-5位后缀的请求
RewriteCond %{REQUEST_URI} !\.[a-zA-Z0-9]{2,5}$
RewriteRule ^/document/(.*)$ /content/dam/app/document/$1.docx [L,PT]

可选:长路径自动跳转短路径

如果需要让访问原始长路径的用户自动跳转到短URL(做SEO路径归一化),可添加如下301跳转规则:

# 匹配AEM原始长路径
RewriteCond %{REQUEST_URI} ^/content/dam/app/document/(.*)\.docx$
# 跳转至对应短URL
RewriteRule ^/content/dam/app/document/(.*)\.docx$ /document/$1 [L,R=301]

内容的提问来源于stack exchange,提问作者Confused Developer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 15:15:03