Вы ищете сокращение URL. В этой статье рассказывается, как именно выполнить сокращение URL.
Сокращение URL-адресов - Когда автор контента обрабатывает внутреннюю ссылку с помощью средства выбора пути, мы хотим, чтобы соответствующая ссылка на ссылку привязки href была сокращена и добавлена. html. Наиболее распространенной практикой для этого является использование LinkRewriter. Этот , , этот , , этот являются различными примерами для одной и той же реализации. Это позаботится о переходе с href = / content / site / en / denim. html на href = / en / denim. html. Это исходящие ссылки.
Разрешение ресурсов для входящих ссылок - Далее нам также необходимо выполнить обратное действие. Когда кто-то нажимает href = www.site.com/en/denim.html, мы хотим, чтобы AEM разрешил это на странице / content / site / en / denim. Для этого есть (в общем) 2 способа: 1) использование apache правил перезаписи, 2) сопоставление Sling Resource. Другим возможным методом может быть использование правил CDN Edge, но я нигде не видел этого.
Обычный http-запрос к AEM проходит по этому маршруту: браузер -> CDN -> Apache -> издатель AEM. По этому пути мы можем преобразовать /denim.html в / content / site / en / denim в Apache или AEM
Apache переписать правила : когда запрос достигнет apache, мы используем mod_rewrite модуль для перезаписи входящего трафика c в разрешаемый путь AEM. Например, простое правило RewriteRule ^/en/(.*) /content/site/en/$1 [PT]
изменит /en/denim./html на /content/site/en/denim.html. См. здесь .
- Apache увидит -> /en/denim.html
- AEM увидит -> /content/site/en/denim.html
Таким образом, URL-адрес уже преобразован в понятный путь AEM. Издатель AEM может легко разрешить этот путь к ресурсу и выполнить рендеринг.
Sling mapping : Второй способ - сохранить apache тупой кеш-компьютер, отправить трафик c непосредственно издателю и запросить издатель, чтобы решить.
- Apache увидит -> /en/denim.html
- AEM увидит -> /en/denim.html
В / etc / maps мы реализуем internalRedirectRules. AEM, прежде чем он начнет обрабатывать запрос, будет искать сопоставление стропов, разрешит входящий запрос к допустимому пути ресурса и затем начнет бизнес рендеринга.
Оба метода имеют свои плюсы и минусы. Но Apache перезапись предпочтительнее, потому что AEM уже слишком занят другими операциями рендеринга.
Резюме:
- Build Link Rewriter - для исходящих ссылок
- Build rewrite rules / sling mapper - для входящих ссылок.