weblogic& OHS:如何将一个URL转发到不同的服务器

时间:2018-05-15 17:24:58

标签: redirect mod-rewrite weblogic oracle-http-server

我有一个运行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中)。我还读到我们不应该在location标签内使用mod_rewrite规则(现在无法找到引用)。
我还可以做些什么?

编辑:所以最后我发现了我的错误(不知何故错误的语法不会阻止服务器启动(像往常一样)。

所以我可以: 在httpd.conf中

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteRule "(.*)/application1/MagicKeyword/(.*)$" "https://www.example.org" [NC,L,R=301]
</IfModule>

或在位置标记中添加:

RewriteEngine On
RewriteRule "(.*)/MagicKeyword/(.*)$" "https://www.example.org" [NC,L,R=301]

为什么我更喜欢一个? 有什么值得关注的吗?

1 个答案:

答案 0 :(得分:2)

您可以考虑其他两个选项。您可以使用位置标记的顺序:

<Location /application1>
    WebLogicHost 127.0.0.1
    WLExcludePathOrMimeType /application1/MagicKeyword
</Location> 
<Location /application1>
    WebLogicHost otherhost
</Location> 

您可以告诉WebLogic排除路径(请参阅https://docs.oracle.com/middleware/1212/webtier/PLGWL/plugin_params.htm#PLGWL473):

valgrind -q ./50361830