我现在想弄明白的是设置自定义域托管,这样用户就可以在他们选择的任何域上托管个人资料页面。我现在可以让它工作了,但它需要大量的自定义工作。
我当前的设置是让用户更改他们的DNS设置以重定向到我的域。然后,在我的域上,我添加了另一个虚拟主机来处理这个新域,然后更新我的Django中间件以查看请求中的PATH_INFO,以便选择要服务的页面。
有没有一种方法可以改变这一点,使这个过程自动化,这样就可以在不修改Apache或中间件的情况下完全自动完成这一过程?我正在考虑使用mod_rewrite将此信息传递给Django中的特定页面,然后在表中进行查找,以查看该页面为该域显示的页面。
发布于 2012-05-24 01:27:22
您应该能够设置您的set服务器,以便它将接受指向它的任何域。一旦你这样做了,用户只需要创建一个A记录,将他们的域名或子域指向你网站的IP地址,然后他们的域名就会打开你的网站。
然后,您只需要在视图(request.get_host()
)中设置一些域检查。例如,索引视图应该在主机上分支,加载您的域的主页和任何其他域的用户配置文件。您可以让用户将他们的域添加到他们的配置文件中,然后使用它来查找正确的配置文件。您可能需要添加一些中间件来保护其他视图,使其不被您的域以外的任何人访问,但这基本上就是这个过程。
https://stackoverflow.com/questions/10723761
复制相似问题