Hey 金 戈,
Squid storeurl_rewrite feature was introduced in squid version 2.6-7
which is not supported anymore.
I am working on another version which called StoreID which replaces
storeurl_rewrite.
It will be integrated into squid 3.3 which is now on Beta.
To find out what is your error you should understand better what you are
aiming for.
If you are willing to try the new feature it will be available soon.
Just a Note on your small program:
The regex you are using is not optimized and you should use less ".*"
and use a more strict approach on letters and characters.
Regards,
Eliezer
On 12/5/2012 2:49 PM, 金 戈 wrote:
Hi everyone!
I use squid with our ISP services.
And now we use storeurl_rewrite_program for rewrite some video cache for our user. But after a few days draggle and google. We found it's so difficult for us to do this. I can't find where is the error of my configuration.And i hope someone can help.
This is my core thing about the rewrite program.
The squid.conf
acl store_rewrite_list referer_regex ^http://static.youku.com/.*$
storeurl_access allow store_rewrite_list
storeurl_access deny all
storeurl_rewrite_program /var/squid/run/squid/store_url_rewrite.py
------------------------
this is my store_url_rewrite.py
-------------------------
#!/usr/bin/env python
import re
import sys
YOUKU=re.compile("http://\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}/youku/.*/(.*-.*-.*-.*-.*)\?.*")
def modify_url(line):
list = line.split(' ')
old_url = list[0]
new_url = '\n'
is_match = YOUKU.search(old_url)
if is_match:
new_url='http://www.youku.com/'+is_match.group(1)+new_url
return new_url
while True:
line = sys.stdin.readline().strip()
new_url = modify_url(line)
if new_url:
sys.stdout.write(new_url)
sys.stderr.write("\n\nREWRITE:"+new_url+'\nORI:'+line)
else:
sys.stdout.write(line+'\n')
sys.stderr.write("NOREWRITE:"+line+'\n')
sys.stdout.flush()
------------------------------------
throught the stderr , I can find the new_url already write to the log file.But I can't found the it in the store.log
The cache.log
REWRITE:http://www.youku.com/030002050050BCAFBB490B03BAF2B1A20A79FD-0282-DEA6-350C-E810E14BAA19.flv
ORI:http://118.180.3.36/youku/6971A9C8A1E348250177A4314B/030002050050BCAFBB490B03BAF2B1A20A79FD-0282-DEA6-350C-E810E14BAA19.flv?start=17 192.168.108.14/- - GET - myip=192.168.137.20 myport=3128
But there is no
object http://www.youku.com/030002050050BCAFBB490B03BAF2B1A20A79FD-0282-DEA6-350C-E810E14BAA19.flv in store.log
Thanks for your help!
Best wishes!
--
Eliezer Croitoru
https://www1.ngtech.co.il
sip:ngtech@xxxxxxxxxxxx
IT consulting for Nonprofit organizations
eliezer <at> ngtech.co.il