Apache 重写或代理

标签 apache mod-rewrite plone zope mod-proxy

我的机器上运行着一个 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_rewriteP (代理)规则或 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>

两者完成大致相同的事情。使用 LocationProxyPass 阻止可以轻松地将其他配置指令应用于前端服务器上的此路径。

关于Apache 重写或代理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11936922/

相关文章:

WordPress 无法写入文件

php 文件显示不正确

php - 为什么 preg_match_all 会破坏此正则表达式?

javascript - PHP 应用程序出现无法解释的 404 错误

php - Apache : How to Use Rewrite Engine Inside Alias

apache - 子域使用 HTTPS 显示错误内容

plone - 扩展 Plone 控制面板表单

python - 以编程方式在 plone 上创建内容类型时,time.time() 是一种安全的方法吗?

php - 重写 URL 以删除导致循环的 .php

seo - Plone 上的规范页面支持