繁体   English   中英

Apache HTTP服务器重写或重定向

[英]Apache http server rewrite or redirect

我有一个运行正常的环境,该环境带有一个Apache http服务器(负载平衡器),该服务器的后端是tomcat服务器集群。 但是,我为一个问题感到困惑,无法将请求URL重定向或重写为所需的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,但是我做错了什么,它被忽略了。

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

而这个ProxyPass / http://www.yyy.com/mycontext/是在www.yyy.com的配置中吗?


是,在virtualhost中

不知道如何负载平衡器可能永远不可能工作。 您正在将请求代理回自己,它会立即用完线程,因为每个代理的请求都在自己的线程上运行。

  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服务器无关。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM