Apache-通过代理服务器添加URL重定向

Apache-通过代理服务器添加URL重定向,apache,redirect,proxy,Apache,Redirect,Proxy,是否可以通过代理连接将用户重定向到特定链接 例如,每当用户访问apache服务器ip地址时: http://196.169.34.34 apache应通过特定端口上的代理服务器(196.169.34.21)将用户重定向到特定的url链接,端口3128 这可能吗 谢谢在196.169.34.34的vhost配置中,您可以添加: Redirect / http://196.169.34.21:3128/specific-url 将特定url部分替换为您希望浏览器重定向到的url 如果您没有vh

是否可以通过代理连接将用户重定向到特定链接

例如,每当用户访问apache服务器ip地址时:

http://196.169.34.34 
apache应通过特定端口上的代理服务器(196.169.34.21)将用户重定向到特定的url链接,端口3128

这可能吗


谢谢

196.169.34.34
的vhost配置中,您可以添加:

Redirect / http://196.169.34.21:3128/specific-url
特定url
部分替换为您希望浏览器重定向到的url

如果您没有vhost config访问权限,则可以在文档根目录中向htaccess文件添加重写规则(假设您具有htaccess文件和mod_rewrite的正确覆盖):

您可以通过添加301使此重定向永久化:

Redirect 301 / http://196.169.34.21:3128/specific-url


196.169.34.34
的vhost配置中,您可以添加:

Redirect / http://196.169.34.21:3128/specific-url
特定url
部分替换为您希望浏览器重定向到的url

如果您没有vhost config访问权限,则可以在文档根目录中向htaccess文件添加重写规则(假设您具有htaccess文件和mod_rewrite的正确覆盖):

您可以通过添加301使此重定向永久化:

Redirect 301 / http://196.169.34.21:3128/specific-url


这也可以通过在本地PC上使用本地解决方案-代理PAC文件来实现。该文件的功能是基于URL/URI将certin流量定向到某个代理地址,如我的示例中所示

下面是.pac文件的示例代码。您可以获得完整的文档:

以下是您在Windows上通过internet选项调用proxy.pac文件的实际方式:


这也可以使用本地解决方案-本地PC上的代理PAC文件来完成。该文件的功能是根据URL/URI将certin流量定向到某个代理地址,如我的示例中所示

下面是.pac文件的示例代码。您可以获得完整的文档:

以下是您在Windows上通过internet选项调用proxy.pac文件的实际方式:


非常感谢您。这似乎是如果它可以工作,我会测试它,让你知道。但是有一个问题,在Windows系统上,我在哪里可以找到vhost配置文件?我确实可以访问vhost配置文件,我添加了这一行:Redirect/。但在浏览器中,它会通过代理重定向到整个url,而不仅仅是“特定url”部分…@DextrousDave如果您不想在重定向中保留请求的URI,请将其更改为:
RedirectMatch/http://196.169.34.21:3128/specific-改为url
,基本上是使用
RedirectMatch
而不是
Redirect
非常感谢。这似乎是如果它可以工作,我会测试它,让你知道。但是有一个问题,在Windows系统上,我在哪里可以找到vhost配置文件?我确实可以访问vhost配置文件,我添加了这一行:Redirect/。但在浏览器中,它会通过代理重定向到整个url,而不仅仅是“特定url”部分…@DextrousDave如果您不想在重定向中保留请求的URI,请将其更改为:
RedirectMatch/http://196.169.34.21:3128/specific-url
相反,基本上使用
RedirectMatch
而不是
Redirect
function FindProxyForURL(url, host) {

// First start with the exceptions that need to be proxied

if ((host == "www.company.net") ||
    (host == "webmail.company.net") ||
    (host == "portal.company.net") ||
    (dnsDomainIs(host, ".public.company.net"))) {
         return "PROXY proxy1.company.net:8000";
}

// Next, we want to send all traffic to company.net browser direct

if (dnsDomainIs(host, ".company.net")) {
       return "DIRECT";
}

// Default return condition is the proxy, since it’s assumed that everything
// else is on the Internet.

return "PROXY proxy1.company.net:8000";

} // End of function