Oi Ricardo, apesar de você achar que seu problema é semelhante aos que eu já expliquei aqui, o seu problema é novo :-)
O que acontece é que você tem um site que não responde na raiz de um dominio, mas em diretorios diferentes de um unico dominio. Como o Plone assume que coisas como CSS, JS e imagens do skin devem sempre ser carregadas da raiz "do dominio" voce tem que usar de uma estrategio (pouco documentada) para instruir o Zope a respeito de como fazer o traverse dos objetos e achar a raiz do dominio adequadamente. Eis um exemplo: (r'^http://www4.teste2/portos/(.*)', r'http://backendpoo2l/VirtualHostBase/http/www4.teste2:80/VirtualHostRoot//_vh_portos\1', 'P,L'), É conveniente ter o objeto "portos" como sendo um plone site na raiz do servidor, seguindo a regra acima. Com alguns testes e essa dica você deve conseguir algum progresso. Atenciosamente, Fabiano Weimar 2008/2/7 Ricardo Brito do Nascimento <[EMAIL PROTECTED]>: > > > > > > > Estou com um problema similar, uso o CacheFu+squid. > ex: > www4.teste2/icp >> sitePlone do icp em mount point > www4.teste2/portos >> sitePlone dos portos em mount point > etc... > o rewriterule.py em anexo, mas segue a parte da regra que estou com > problemas. > (r'^http://www4.teste2/icp/(.*)', > r'http://backendpool2/VirtualHostBase/http/www4.teste2:80/icp/icp-brasil/VirtualHostRoot/icp/\1', > 'P,L'), > (r'^http://www4.teste2/portos/(.*)', > r'http://backendpool2/VirtualHostBase/http/www4.teste2:80/portos/se-portos/VirtualHostRoot/portos\1', > 'P,L'), > (r'^http://www4.teste2/sepm/(.*)', > r'http://backendpool2/VirtualHostBase/http/www4.teste2:80/sepm/forum-mulheres/VirtualHostRoot/\1', > 'P,L'), > #(r'^http://www4.teste2/(.*)', > r'http://backendpool2/VirtualHostBase/http/www4.teste2:80/VirtualHostRoot/\1', > 'P,L'), > > > Conto com a ajuda de vocês e estou enviando em anexo o meu > squidRewriteRules.py. > > > > ————— > Jesus te ama, aceite-O! > A Graça do nosso Senhor Jesus Cristo seja contigo. (1ªTessalonicenses 5.28) > ________________________________ > Jesus loves you, accept you Him! > The grace of our Lord Jesus Christ be with you. (1ªThessalonians 5.28) > ————— > > > Fabiano Weimar dos Santos escreveu: > > > > Oi Walter, > > apenas com o que voce enviu para a lista fica dificil de lhe ajudar. > > Por favor, no envie copia de seu squid.conf e das regras de rewrite. > > Um abraco, > > Fabiano Weimar > > 2008/1/25 Walter Cruz <[EMAIL PROTECTED]>: > > > > > > > > > > > > > > Galera, seguinte :) > > > > www.dominio.com aponta prum site zope. > > > > EU queria, por exemplo, que www.dominio.com/aplicacao fizesse um proxy > > reverso pra uma aplicação php, num apache, em outra maquina. > > > > Tem um squid na frente.. e eu tou apanhando do SquidRewriteRules.py. > > Alguma idéia? > > > > []'s > > - Walter > > > > -- > Fabiano Weimar dos Santos (xiru) > Weimar Consultoria > > Hospedagem Plone, Zope e Python > http://www.pytown.com > > """ > /********************************************************************** > FILE : $RCSfile: squidRewriteRules.py,v $ > PURPOSE : Rule set for icoya redirector > NOTES : > AUTHOR : Simon Eisenmann > COPYRIGHT: (c) 2003,2004 by struktur AG > DATE : 28JAN2003 > REVISION : $Revision: 1.12 $ > VERSION : $Id: squidRewriteRules.py,v 1.12 2004/08/06 08:16:19 longsleep > Exp $ (Author: $Author: longsleep $) > > struktur AG Phone: +49 711 8966560 > Junghansstr. 5 Fax: +49 711 89665610 > 70469 Stuttgart email: [EMAIL PROTECTED] > GERMANY > > http://www.struktur.de > http://www.strukturag.com > > **********************************************************************/ > > Reloadable module allows arbitrary url transformations. > > > Automatic reload of the rules > +++++++++++++++++++++++++++++++++++ > > NOTE: use the reload after parameter to auto reload this module > after x requests. Use -1 to disable auto reload > > > Logging > +++++++++++++++++++++++++++++++++++ > > NOTE: set debug to 1 to enable logging > define the logfile in the logfile variable (enter full path) > > > """ > import re, sys > > try: > import py > except ImportError: > pass > > """ > +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ > begin of configuration > """ > > # log mode (set to 1 to enable logging) > debug = 1 > > # logfile for debugging (only required when debug == 1) > logfile = "/var/log/squid/redirector_class.log" > > # set this to -1 to get best performance (no reload) > reload_after = -1 > > # define sitemap matching regex mapping > > # MODIFY THIS REWRITE RULE AS NEEDED FOR YOUR SITE > > rewrites = ( > ################################################################ > ############## Homologação 10.100.0.36 ######################### > ##OK (r'^http://icp.teste/(.*)', > r'http://backendpool/VirtualHostBase/http/icp.teste:80/icp-brasil/VirtualHostRoot/\1', > 'P,L'), > ##OK (r'^http://softwarelivre.teste/(.*)', > r'http://backendpool/VirtualHostBase/http/softwarelivre.teste:80/softwarelivre/VirtualHostRoot/\1', > 'P,L'), > ##OK (r'^http://portos.teste/(.*)', > r'http://backendpool/VirtualHostBase/http/portos.teste:80/se-portos/VirtualHostRoot/\1', > 'P,L'), > ##OK (r'^http://spmulheres.teste/(.*)', > r'http://backendpool/VirtualHostBase/http/spmulheres.teste:80/forum-mulheres/VirtualHostRoot/\1', > 'P,L'), > > ########### Plone 2.5.5 com mount-point ######################## > > ##OK (r'^http://plone.teste2/(.*)', > r'http://backendpool2/VirtualHostBase/http/plone.teste2:80/Plone/VirtualHostRoot/\1', > 'P,L'), > > ##OK (r'^http://icp.teste2/(.*)', > r'http://backendpool2/VirtualHostBase/http/icp.teste2:80/icp/icp-brasil/VirtualHostRoot/\1', > 'P,L'), > ##OK (r'^http://polpub.teste2/(.*)', > r'http://backendpool2/VirtualHostBase/http/polpub.teste2:80/polpub/politicas-publicas/VirtualHostRoot/\1', > 'P,L'), > ##OK (r'^http://portos.teste2/(.*)', > r'http://backendpool2/VirtualHostBase/http/portos.teste2:80/portos/se-portos/VirtualHostRoot/\1', > 'P,L'), > ##OK (r'^http://spmulheres.teste2/(.*)', > r'http://backendpool2/VirtualHostBase/http/spmulheres.teste2:80/sepm/forum-mulheres/VirtualHostRoot/\1', > 'P,L'), > > > ##OK (r'^http://www1.teste2/(.*)', > r'http://backendpool2/VirtualHostBase/http/www1.teste2:80/VirtualHostRoot/\1', > 'P,L'), > #+/-OK (r'^http://www4.teste2/icp/(.*)', > r'http://backendpool2/VirtualHostBase/http/www4.teste2:80/icp/icp/icp-brasil/VirtualHostRoot/\1', > 'P,L'), > > # > (r'^http://www4.teste2/icp/(.*)', > r'http://backendpool2/VirtualHostBase/http/www4.teste2:80/icp/icp-brasil/VirtualHostRoot/icp/\1', > 'P,L'), > (r'^http://(www4.teste2/polpub/)(.*)', > r'http://backendpool2/VirtualHostBase/http/www4.teste2:80/polpub/politicas-publicas/VirtualHostRoot/\2', > 'P,L'), > (r'^http://www4.teste2/portos/(.*)', > r'http://backendpool2/VirtualHostBase/http/www4.teste2:80/portos/se-portos/VirtualHostRoot/portos\1', > 'P,L'), > (r'^http://www4.teste2/sepm/(.*)', > r'http://backendpool2/VirtualHostBase/http/www4.teste2:80/sepm/forum-mulheres/VirtualHostRoot/\1', > 'P,L'), > #(r'^http://www4.teste2/(.*)', > r'http://backendpool2/VirtualHostBase/http/www4.teste2:80/VirtualHostRoot/\1', > 'P,L'), > > ########### Plone 3.0.4 ######################## > ##OK (r'^http://teste1.teste3/(.*)', > r'http://backendpool3/VirtualHostBase/http/teste1.teste3:80/teste1/VirtualHostRoot/\1', > 'P,L'), > ######################################## > > ## Não remova o parentese ############ > ) > ######################################## > > # Some other examples: > #rewrites = ( > # (r'^http://www.foobar.com(:\d+/|/)--zmi--(.*)', > r'http://backendpool/VirtualHostBase/http/www.foobar.com\1VirtualHostRoot/_vh_--zmi--\2', > 'L'), > # (r'^http://www.foobar.com(:\d+/|/)--repos--(.*)', > r'http://localhost/--repos--\2', 'L'), > # (r'^http://www.foobar.com(:\d+/|/)(.*)', > r'http://backendpool/VirtualHostBase/http/www.foobar.com\1foobarportal/VirtualHostRoot/\2', > 'L'), > # (r'^http://www.foobar-bacon.com(:\d+/|/)(.*)', > r'http://backendpool/VirtualHostBase/http/www.foobar-bacon.com\1foobarbacon/VirtualHostRoot/\2', > 'L'), > # (r'^http://foobar\.com(.*)', r'http://www.foobar.com\1', 'R,L'), > # (r'^http://foobar-bacon\.com(.*)', r'http://www.foobar-bacon.com\1', > 'R,L'), > # (r'^http://.*?(?:foobar-portal|foobar-portal-europe)\.de(.*)', > r'http://www.foobar.com\1', 'R,L'), > # (r'^http://.*?foobar\.de(.*)', r'http://www.foobar.com\1', 'R,L'), > # > (r'^http://.*?(?:foobar-bacon|foobar-bacon-europe)\.(?:de|com|net)(.*)', > r'http://www.foobar-bacon.com\1', 'R,L'), > # (r'^http://www.foobar.com/((?:defq|ctai|demc|deme))(.*)', > r'http://h1.foobar.com/\1\2', 'L'), > # (r'^cache_object://(.*)', r'cache_object://\1', 'L'), # For RRDTool > #) > > > """ > end of configuration > +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ > """ > > compiled_rewrites = None > > def log(s): > """ Logging facility. > """ > try: > f = open(logfile, "a") > except IOError: > print >> sys.stderr, s > return > f.write('%s\n' % s) > f.flush() > f.close() > > def init(): > global compiled_rewrites > > compiled_rewrites = [] > for rewrite in rewrites: > regexp = re.compile(rewrite[0]) > template = rewrite[1] > flags = {} > for flag in rewrite[2].split(','): > parts = flag.split('=') > flag = parts[0] > option = None > if flag == 'R': > if len(parts) > 1: > option = "%s:" % parts[1] > else: > option = '302:' > flags[flag] = option > compiled = (regexp, template, flags) > if debug: > log('compiled: %s' % str((regexp.pattern, template, flags))) > compiled_rewrites.append(compiled) > compiled_rewrites = tuple(compiled_rewrites) > > def rewrite(url, src_address=''): > """ just rewrites urls. > """ > > if debug: > log("args: %s" % str((url, src_address))) > > newurl = None > for regexp, template, flags in compiled_rewrites: > m = regexp.match(url) > if m is not None and template != '-': > if debug: > log("match.groups ('%s'): %s" % (regexp.pattern, > str(m.groups()))) > url = newurl = "%s%s" % (flags.get('R', ''), m.expand(template)) > if debug: > log('newurl: %s' % newurl) > if 'L' in flags: > break > > if newurl is not None: > if debug: > log('finalurl: %s' % newurl) > return newurl > > # redirect to something we can match by a squid acl > # this special non existing domain should be denied > # by squid with a http_reply_access line > return "http://denypool/denyme" > > def test_foobar_redirection(): > assert rewrite('http://foobar.com/foo/bar') == > '302:http://www.foobar.com/foo/bar' > assert rewrite('http://foobar.de/foo/bar') == > '302:http://www.foobar.com/foo/bar' > assert rewrite('http://www.foobar.de/foo/bar') == > '302:http://www.foobar.com/foo/bar' > assert rewrite('http://foobar-portal.de/foo/bar') == > '302:http://www.foobar.com/foo/bar' > assert rewrite('http://www.foobar-portal.de/foo/bar') == > '302:http://www.foobar.com/foo/bar' > assert rewrite('http://foobar-portal-europe.de/foo/bar') == > '302:http://www.foobar.com/foo/bar' > assert rewrite('http://www.foobar-portal-europe.de/foo/bar') == > '302:http://www.foobar.com/foo/bar' > # shouldn't redirect, just rewrite > assert not rewrite('http://www.foobar.com/foo/bar').startswith('302:') > > def test_foobarbacon_redirection(): > assert rewrite('http://foobar-bacon.com/foo/bar') == > '302:http://www.foobar-bacon.com/foo/bar' > assert rewrite('http://foobar-bacon.de/foo/bar') == > '302:http://www.foobar-bacon.com/foo/bar' > assert rewrite('http://www.foobar-bacon.de/foo/bar') == > '302:http://www.foobar-bacon.com/foo/bar' > assert rewrite('http://foobar-bacon-europe.de/foo/bar') == > '302:http://www.foobar-bacon.com/foo/bar' > assert rewrite('http://www.foobar-bacon-europe.de/foo/bar') == > '302:http://www.foobar-bacon.com/foo/bar' > assert rewrite('http://foobar-bacon-europe.com/foo/bar') == > '302:http://www.foobar-bacon.com/foo/bar' > assert rewrite('http://www.foobar-bacon-europe.com/foo/bar') == > '302:http://www.foobar-bacon.com/foo/bar' > assert rewrite('http://foobar-bacon.net/foo/bar') == > '302:http://www.foobar-bacon.com/foo/bar' > assert rewrite('http://www.foobar-bacon.net/foo/bar') == > '302:http://www.foobar-bacon.com/foo/bar' > # shouldn't redirect, just rewrite > assert not > rewrite('http://www.foobar-bacon.com/foo/bar').startswith('302:') > > def test_virtual_hosting(): > assert rewrite('http://www.foobar.com/foo/bar') == > 'http://backendpool/VirtualHostBase/http/www.foobar.com/foobarportal/VirtualHostRoot/foo/bar' > assert rewrite('http://www.foobar.com:8088/foo/bar') == > 'http://backendpool/VirtualHostBase/http/www.foobar.com:8088/foobarportal/VirtualHostRoot/foo/bar' > assert rewrite('http://www.foobar-bacon.com/foo/bar') == > 'http://backendpool/VirtualHostBase/http/www.foobar-bacon.com/foobarbacon/VirtualHostRoot/foo/bar' > assert rewrite('http://www.foobar-bacon.com:8088/foo/bar') == > 'http://backendpool/VirtualHostBase/http/www.foobar-bacon.com:8088/foobarbacon/VirtualHostRoot/foo/bar' > > def test_zmi(): > assert rewrite('http://www.foobar.com/--zmi--/foo/bar') == > 'http://backendpool/VirtualHostBase/http/www.foobar.com/VirtualHostRoot/_vh_--zmi--/foo/bar' > assert rewrite('http://www.foobar.com:8088/--zmi--/foo/bar') == > 'http://backendpool/VirtualHostBase/http/www.foobar.com:8088/VirtualHostRoot/_vh_--zmi--/foo/bar' > > def test_repos(): > assert rewrite('http://www.foobar.com/--repos--/foo/bar') == > 'http://localhost/--repos--/foo/bar' > assert rewrite('http://www.foobar.com:8088/--repos--/foo/bar') == > 'http://localhost/--repos--/foo/bar' > > if debug: > log("reloading user redirector module") > init() > if debug: > log("reloaded user redirector module") > > -- Fabiano Weimar dos Santos (xiru) Weimar Consultoria Hospedagem Plone, Zope e Python http://www.pytown.com Para enviar uma mensagem: zope-pt@yahoogrupos.com.br Para desistir envie uma mensagem em branco para: [EMAIL PROTECTED] Links do Yahoo! Grupos <*> Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/zope-pt/ <*> Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] <*> O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html