【问题标题】:Apache and ProxyPass proxyApache 和 ProxyPass 代理
【发布时间】:2014-10-23 18:12:40
【问题描述】:

我想实现一种代理系统,我可以像这样输入 url:http://example.com/www.stackoverflow.com 并返回 www.stackoverflow.com 的内容。我尝试的是这样的:

ProxyRequests Off
<Proxy *>
Order deny,allow
 Allow from all
</Proxy>

RewriteEngine on
RewriteCond %{REQUEST_URI} !^/external/.*
RewriteRule ^/(.*) http://%{HTTP_HOST}/external/$1 [NC,R=302,L] 
ProxyPassMatch  /external/([A-Za-z]*)/(.*)  wwww.stackoverflow.com/$1/$2
ProxyPassMatch  /external/(.*)  http://$1/

这很好用,但仅适用于 stackoverflow.com,因为它是硬编码的。是否有某种规则使动态 URL 可以工作,所以我可以使用 http://example.com/yahoo.com ?是的,如果尝试硬编码 yahoo.com 或 google.com,而不是重写 url 会自动重定向到 yahoo.com 或 google.com,这是怎么回事?

【问题讨论】:

    标签: apache mod-rewrite mod-proxy


    【解决方案1】:

    您可以使用RewriteRule[P] 标志:

    RewriteEngine On
    RewriteRule ^/(.*) http://$1 [P]
    

    更多信息here

    【讨论】:

    • 好的,如果我只做 localhost/stackoverflow.com 就可以了,内容将被返回。但是,由于相对路径(例如 locahost/data/image.jpg),图像不会加载。
    猜你喜欢
    • 2021-05-22
    • 2012-01-30
    • 2023-04-10
    • 2013-11-26
    • 1970-01-01
    • 1970-01-01
    • 2015-10-15
    • 2015-01-19
    • 1970-01-01
    相关资源
    最近更新 更多