我正在托管使用Twisted的几个域静态文件。但是,对于域的子目录,我想重定向到另一个域。
例如:提供foo.com静态文件,但foo.com/bar转到foobar.com/bar
我似乎无法在Twisted文档中找到适用于此方案的任何内容。
我回答雕文说它不起作用,但我把它放在了错误的位置。他的建议当然是绝对正确的。我应该提供更多初始信息。在这里实施:
from twisted.application import internet, service
from twisted.web import static, server, vhost, script
from twisted.web.util import Redirect
root = vhost.NameVirtualHost()
# Add a default -- htdocs
root.default=static.File("/home/foo")
root.putChild("myredirect", Redirect("http://othersite.com/myredirect"))
# Add a simple virtual host -- bar.com
root.addHost("bar", static.File("bar"))
# Add a simple virtual host -- foo.com
root.addHost("foo", static.File("/home/foo"))
application = service.Application('web')
sc = service.IServiceCollection(application)
site = server.Site(root)
i = internet.TCPServer(80, site)
i.setServiceParent(sc)
答案 0 :(得分:0)
这非常简单,但这取决于您的网站设置方式。
基本上,
from twisted.web.util import Redirect
fooDotComResource.putChild("bar", Redirect("http://foobar.com/bar"))