我的机器上运行着一个 Apache 服务器(端口 80)
我的机器上运行着一个 Zope 服务器(端口 8080)
我希望所有用户,无论域(让我们现在使用 www.example.com)无缝地推送到 zope 实例
IE
如果我在浏览器中输入
http://www.example.com/mysite
它将显示效果
http://www.example.com:8080/mysite
但是
我希望 URL 仍然说
http://www.example.com/mysite
(子)域应该无关紧要,因为将有 2 或 3 个域指向同一服务器
我应该查看 mod_rewrite 或 mod_proxy 吗?
我有一半的 mod_rewrite 工作,但它改变了浏览器中的内容?
目前正在尝试
RewriteEngine on
RewriteRule ^($|/.*) http://localhost:8080/$1 [P]
但得到服务器 500
使用“http://localhost/mysite”连接
最佳答案
您可以使用 mod_rewrite
与 P
(代理)规则或 mod_proxy
做你想做的事。使用 mod_rewrite
您的配置如下所示:
RewriteRule ^/mysite/(.*) http://www.example.com:8080/mysite/$1 [P]
使用
mod_proxy
,您的配置将如下所示:<Location /mysite/>
ProxyPass http://www.example.com:8080/
ProxyPassReverse http://www.example.com:8080/
</Location>
两者完成大致相同的事情。使用
Location
用 ProxyPass
阻止可以轻松地将其他配置指令应用于前端服务器上的此路径。
关于Apache 重写或代理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11936922/