【问题标题】:Twisted redirect subdirectory to another domain扭曲的重定向子目录到另一个域
【发布时间】:2014-07-03 09:16:20
【问题描述】:

我正在使用 Twisted 托管几个域静态文件。但是,对于域的子目录,我想重定向到另一个域。

例如:服务 foo.com 静态文件,但 foo.com/bar 转到 foobar.com/bar

我似乎在 Twisted 文档中找不到任何关于这种情况的内容。

更新

我回复 Glyph 说它不起作用,但我把它放在了错误的位置。他的建议当然是完全正确的。我应该提供更多的初始信息。在这里实现:

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)

【问题讨论】:

    标签: python redirect dns twisted


    【解决方案1】:

    这很简单,尽管它取决于您的网站的设置方式。

    不过,基本上,

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

    【讨论】:

    • 抱歉 Glyph,我应该更具体一些
    • root = vhost.NameVirtualHost() # 添加一个默认值 -- htdocs root.default=static.File("/home/joesteel/foo") # 添加一个简单的虚拟主机 -- bar.com root.addHost("bar.com", static.File("/home/joesteel/bar")) # 添加一个简单的虚拟主机——foo.com root.addHost("foo.photos", static.File(" /home/joesteel/foo")) application = service.Application('web') sc = service.IServiceCollection(application) site = server.Site(root) #site.putChild("selfies", Redirect("512pixels.net/the-worlds-greatest-selfies/" )) i = internet.TCPServer(80, site) i.setServiceParent(sc)
    • 如果有更多相关细节,您应该编辑您的问题。除了在该评论中基本上完全不可读之外,如果没有更多的话,很难将此信息与您的问题结合起来。当您将此代码添加到问题中时,请添加一些关于 Glyph 的答案没有帮助的原因。
    猜你喜欢
    • 1970-01-01
    • 2014-09-11
    • 1970-01-01
    • 2014-06-26
    • 1970-01-01
    • 2019-08-22
    • 1970-01-01
    • 1970-01-01
    • 2019-11-24
    相关资源
    最近更新 更多