2016-03-11 2 views
2

Я хочу понять, как перенаправить страницу из одного домена в другой. Например, я хочу удалить сайт (www.abc.com) и перенаправить на страницу с ошибкой в ​​другом домене (www.123.com/errorpage). Есть ли способ сделать это в папке etc вместо файла virtualhost. Оба домена находятся на одном сервере. Любая помощь пожалуйста.Перенаправление на страницу с некоторыми ошибками в CQ5

ответ

1

Профайл Sling: https://sling.apache.org/documentation/the-sling-engine/mappings-for-resource-resolution.html.

Создать путь /etc/map/http все типы sling:Folder. Затем добавьте следующие два узла:

abc 
    jcr:resourceType="sling:Mapping" 
    sling:match="abc.com(/.*)" 
    sling:redirect="http://www.123.com/errorpage.html" 

abc80 
    jcr:resourceType="sling:Mapping" 
    sling:match="abc.com.80(/.*)" 
    sling:redirect="http://www.123.com/errorpage.html" 

Вы можете работать здесь, чтобы сделать какие-либо дополнения или изменения, основанные на ваших портах и ​​как вы справляетесь с «WWW» перенаправляет.

Sling сопоставления поддержки регулярного выражения групп. Если sling:match был установлен в abc.com.80, то редирекция в результате закончится на http://www.123.com/errorpage.html/content/sitename/page.html, что, очевидно, неверно. Мы можем обновить свойство sling:redirect до http://www.123.com/errorpage.html?from=$1, чтобы использовать захваченную группу. В этом примере, однако, я просто отбрасываю захваченную группу. В любом случае, трюк, чтобы добраться до нужного перенаправления, - это установка группы захвата.

Вы можете проверить на вашем локальном экземпляре автора со следующими параметрами:

localhost4502 
    jcr:resourceType="sling:Mapping" 
    sling:match="localhost.4502(/.*)" 
    sling:redirect="http://www.google.com/error.html" 

sling:redirect по умолчанию в качестве временного 302 редиректа. Если вы хотите, вы можете установить sling:status на 300, 301, 303 или 307. Если вам не нужно было менять адресную строку, вы могли бы использовать sling:internalRedirect, который будет вести себя как внутренний переписчик Apache, а не внешний перенаправление. Дополнительную информацию см. В документах.

Смежные вопросы