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> 
Другие вопросы по тегам