weblogic & OHS: как переслать один URL на другой сервер
У меня есть среда с запущенным Oracle WebLogic и OHS.
В mod_wl_ohs.conf у меня есть следующее (кроме конфигурации для других приложений)
<Location /application1>
SetHandler weblogic-handler
WLLogFile /opt/logs/ application1.log
Debug OFF
WebLogicHost 127.0.0.1
WebLogicPort 23666
</Location>
Это прекрасно работает, и сервер, прослушивающий 23666 с фактическим приложением application1, обрабатывает запросы типа " http://example.com/application1/*".
Теперь я хотел бы перенаправить все запросы для определенного шаблона URL в другой домен (не обязательно на том же сервере), но продолжая обрабатывать все запросы других.
Перенаправление: http://example.com/application1/MagicKeyword/*
продолжить: http://example.com/application1/NotTheKeyword*
или же http://example.com/application1/AlsoNotKeyword/*
Каков правильный подход для этого?
Я поиграл с некоторыми правилами mod_rewrite, кажется, что они не влияют и не нарушают все (в httpd.conf). Я также читал, что мы не должны использовать правила mod_rewrite внутри тега location (сейчас не могу найти ссылку).
Что еще я могу сделать?
Изменить: Итак, наконец, я нашел свою ошибку (как-то неправильный синтаксис, который не помешал запуск сервера (как обычно).
Так что я мог: в httpd.conf
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule "(.*)/application1/MagicKeyword/(.*)$" "https://www.example.org" [NC,L,R=301]
</IfModule>
или в теге Location добавьте:
RewriteEngine On
RewriteRule "(.*)/MagicKeyword/(.*)$" "https://www.example.org" [NC,L,R=301]
Почему я должен предпочесть одно другому? Есть что-нибудь, о чем можно беспокоиться?
1 ответ
Два других варианта вы можете рассмотреть. Вы можете использовать порядок расположения тегов:
<Location /application1/MagicKeyword>
WebLogicHost otherhost
</Location>
<Location /application1>
WebLogicHost 127.0.0.1
</Location>
Вы можете указать WebLogic исключить путь (см. https://docs.oracle.com/middleware/1212/webtier/PLGWL/plugin_params.htm):
<Location /application1>
WebLogicHost 127.0.0.1
WLExcludePathOrMimeType /application1/MagicKeyword
</Location>
<Location /application1>
WebLogicHost otherhost
</Location>