Apache-通过代理服务器添加URL重定向
是否可以通过代理连接将用户重定向到特定链接 例如,每当用户访问apache服务器ip地址时: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
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