Twisted redirect子目录到另一个域

时间:2014-05-15 04:54:08

标签: python redirect dns twisted

我正在托管使用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)

1 个答案:

答案 0 :(得分:0)

这非常简单,但这取决于您的网站设置方式。

基本上,

from twisted.web.util import Redirect
fooDotComResource.putChild("bar", Redirect("http://foobar.com/bar"))