Windows
在 Windows 上使用 php 或 perl“url_rewrite_program”的魷魚
我想將我的所有 http 代理流量重定向到 perl 或 php 腳本。
我有一個工作魷魚設置,並在我的 squid.conf
url_rewrite_program "c:\\squid\\redirect.pl"
但是當我在控制台中啟動 squid 時,它存在異常程序終止,並且在 cache.log 中:
2012/03/23 19:26:12| helperOpenServers: Starting 5 'c:\squid\php\redirect.pl' processes 2012/03/23 19:26:12| ipcCreate: CHILD: c:\squid\php\redirect.pl: (8) Exec format error 2012/03/23 19:26:12| ipcCreate: PARENT: OK read test failed 2012/03/23 19:26:13| --> read returned 4
PHP 腳本也是如此。當我直接在控制台中執行時,腳本工作正常。
perl 腳本內容:
#!/usr/bin/env perl $|=1; while (<>) { $url = m/^([^ ]*)/; if ($url !~ /^http:\/\/www\.hostname\.com/) { $url =~ s@^http://www\.hostname\.com/(.*)@http://www.hostname.com/\1@; print "301:$url\n"; } else { print "$url\n"; } } enter code here
從http://wiki.squid-cache.org/KnowledgeBase/Windows:
Squid 不知道如何基於腳本執行外部幫助程序,例如 .bat、.cmd、.vbs、.pl 等。因此在 squid.conf 中必須始終指定解釋器路徑,例如:
url_rewrite_program c:/perl/bin/perl.exe c:/squid/libexec/redir.pl