0

我有一个运行环境,其中有一个 apache http 服务器(负载平衡器),后端有一个 tomcat 服务器集群。不过,我被一个问题难住了,我无法将请求 url 重定向或重写为我需要的。例如,

request url - http://www.yyy.com

我想将其重定向或重写为

http://www.yyy.com/mycontext

我尝试重定向和重写但没有运气。

RewriteRule    ^/$  http://www.yyy.com/mycontext/  [L] - Error (can't fine the url)

然后我尝试了这个,

Redirect / http://www.yyy.com/mycontext/ - this results in the following, 

http://www.yyy.com/mycontext/mycontext/mycontext/mycontext/mycontext/........... repeats.  

我无法找出正确的条件语句。我尝试使用服务器变量来编写 rewritecond,但我做错了,它被忽略了。

任何帮助表示赞赏。我在这方面没有太多经验。

4

1 回答 1

0

ProxyPass / http://www.yyy.com/mycontext/www.yyy.com的配置中?


是的,在虚拟主机中

不确定您的负载均衡器如何工作。您正在将请求代理回给自己,并且由于每个代理请求都在其自己的线程上运行,它会立即耗尽线程。

  1. 请求/到达您的虚拟主机
  2. ProxyPass反向代理它http://www.yyy.com/mycontext/,它本身
  3. 请求/mycontext/到达您的虚拟主机
  4. ProxyPass反向代理它http://www.yyy.com/mycontext/mycontext/
  5. 请求/mycontext/mycontest/到达您的虚拟主机
  6. ProxyPass反向代理它http://www.yyy.com/mycontext/mycontext/mycontext/

等等

我认为您可能正在寻找的是:

RewriteCond %{REQUEST_URI} !^/mycontext/
RewriteRule ^(.*)$ /mycontext/$1 [L]

但这与您的负载均衡器或您的 Tomcat 服务器无关。

于 2012-10-22T06:55:24.070 回答