Mực với php hoặc perl, url_rewrite_program, trên các cửa sổ


3

Tôi muốn chuyển hướng tất cả lưu lượng truy cập proxy http của mình sang tập lệnh perl hoặc php.

Tôi có một thiết lập mực hoạt động và có cái này trong squid.conf

url_rewrite_program "c:\\squid\\redirect.pl"

Nhưng khi tôi bắt đầu câu mực trong bàn điều khiển thì nó tồn tại với sự chấm dứt chương trình bất thường và đây là trong 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

Điều tương tự cũng xảy ra với tập lệnh PHP. Các kịch bản đang hoạt động tốt khi tôi thực hiện trực tiếp trong giao diện điều khiển.

Nội dung của tập lệnh 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

Câu trả lời:


1

Từ http://wiki.squid-cache.org/KnowledgeBase/Windows :

Squid không biết cách chạy các trình trợ giúp bên ngoài dựa trên các tập lệnh, như .bat, .cmd, .vbs, .pl, v.v. Vì vậy, trong squid.conf, đường dẫn trình thông dịch phải luôn được chỉ định, ví dụ:

url_rewrite_program c: /perl/bin/perl.exe c: /squid/libexec/redir.pl


Quá đơn giản! Tôi đã thêm đường dẫn đầy đủ vào php.exe, nhưng đóng gói nó bằng dấu ngoặc kép. Không có trích dẫn nó đang làm việc. thnx
Rutger van Baren
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.