Что можно сделать, чтобы скрыть структуру контента / сайта для публикации c в AEM? - PullRequest
0 голосов
/ 20 марта 2020

Наш сайт построен с использованием AEM 6.5. Структура контента примерно такая: /content/site/en.

Проблема, с которой мы сталкиваемся, заключается в том, что структура контента видна в поиске Google. Например, если мы ищем джинсовую ткань, результаты, которые мы получаем в настоящее время -

www.site.com/content/site/en/denim.html

Ожидаемый результат -

www.site.com/denim.html

Какие могут быть различные варианты, чтобы скрыть структуру от результатов ? Спасибо!

Ответы [ 2 ]

4 голосов
/ 22 марта 2020

Вы ищете сокращение 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 уже слишком занят другими операциями рендеринга.

Резюме:

  1. Build Link Rewriter - для исходящих ссылок
  2. Build rewrite rules / sling mapper - для входящих ссылок.
1 голос
/ 21 марта 2020

Сопоставление ресурсов может помочь вам достичь своей цели - скрыть структуру контента от внешнего мира.

Здесь - это ссылка, которая может помочь вам больше.

...