【发布时间】:2015-03-12 19:03:25
【问题描述】:
我们的门户网站在 Oracle Webcenter 11.1.1.8 上运行,我们的 WLS 以 OHS 为前端。 如我们所见,我们门户页面的 URL 形成为http://host:port/webcenter/portal/My-Custom-Portal/Home?。 根据客户的要求,我们不应该在我们的 URL 中显示“webcenter/portal”以及 adf 参数。 我们想要的是 URL 应该像 http://My-Custom-Portal/home 一样干净,就是这样。
现在,我们被困在 URL 重写部分,即如何隐藏“webcenter/portal”。我尝试在 /config 文件夹中编辑 httpd.conf 文件,方法是在 mod_rewrite.so 的加载模块命令结束的位置之后添加以下规则。添加下面的代码行作为测试,看看这是否有效。
RewriteRule 上的 RewriteEngine .* http://www.google.com
但遗憾的是,这根本没有帮助。此处向代理主机和带有 webcenter 的端口发出的所有请求都像以前一样工作。
还阅读了 .htaccess 文件,该文件将包含重写规则并应保存在根目录下。但是我们将代码作为战争部署到 Weblogic 中,所以如果需要的话,应该将 .htaccess 文件保存在哪里。
我在这里错过了什么/做错了什么。
亲切的问候,
席德
编辑:正如 jonathan 所建议的,在 httpd.conf 文件中添加了以下更改
虚拟主机入口:
NameVirtualHost *:7743
<VirtualHost *:7743>
ServerName 10.10.10.10
ServerAlias abc.abc.com
RewriteEngine On
RewriteOptions inherit
RewriteRule ^/mylife$ /webcenter/portal [P]
RewriteLog /tmp/rewrite.log
<Location /webcenter>
SetHandler weblogic-handler
WebLogicHost 10.10.10.10
WebLogicPort 8888
</Location>
</VirtualHost>
点击网址后为http://10.10.10.10:7743/mylife 我们得到的 URL 为
http://10.10.10.10:7743/mylife;jsessionid=cMDQVLyJ1QH2GqXQgNgs9PPmTmcLLqw7Lt5ctT1dgLBsvDVcBh11!-2127183939?_afrLoop=1892903079007447
在地址栏中
将窗口中的消息作为
The requested URL /mylife;jsessionid=cMDQVLyJ1QH2GqXQgNgs9PPmTmcLLqw7Lt5ctT1dgLBsvDVcBh11!-2127183939 was not found.
还需要什么配置吗?
【问题讨论】:
标签: apache .htaccess mod-rewrite url-rewriting webcenter