Прежде всего, переписывание и перенаправление squid зависит от стороннего помощника.Самое приятное то, что вы можете написать этот помощник на любом языке программирования .
, используя директиву url_rewrite_program
в squid.conf и добавить к ней путь кваш заказной сценарий.Ваш сценарий будет получать содержимое со следующими данными:
URL client_ip "/" fqdn user method [ kvpairs]\n
Очевидно, вам нужна часть URL
, поэтому найдите способ получить часть 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;
}
}