Squid的URL修改/重写

时间:2011-10-28 19:48:06

标签: url rewrite squid

我需要修改一些通过Squid传递的特殊URL,例如:我通过我的Squid访问地址www.google.com.vn。我想在某些地方修改Squid源代码,将www.google.com.vn替换为www.google.com。因此,每次向www.google.com.vn发出的请求都将成为www.google.com

的请求

请帮助ASPS

1 个答案:

答案 0 :(得分:3)

首先,鱿鱼重写和重定向取决于第三方帮助者。 最好的部分是你可以用 任何编程语言 编写这个帮助器。

在squid.conf中使用url_rewrite_program指令 并添加自定义脚本的路径。 您的脚本将收到以下内容:

URL client_ip "/" fqdn user method [ kvpairs]\n

显然你需要URL部分,所以想办法获取网址部分并返回你希望客户端定向的网站。

希望以任何方式提供帮助......

重写程序示例(C ++)

#include <iostream>
#include <string>
using namespace std;
// a replace function :)
bool replace(std::string& str, const std::string& from, const std::string& to) {
size_t start_pos = str.find(from);
if(start_pos == std::string::npos)
    return false;
str.replace(start_pos, from.length(), to);
return true;
}


int main()
{
     while(1)
     {
        string input;
        cin >> input;
        replace(input, "www.google.vn", "www.google.com");
        cout << input << endl;
     }

}