我正在创build一个网站,用户可以创build自己的空间来发布内容,我想要实现的一个function是允许这些用户将自己的域名指向我的网站内的空间。 所以如果用户“John”创build了:
mysite.com/john
他可以指出自己的领域:
thesplendidjohn.com
到mysite.com/john,但我需要保持原来的(thesplendidjohn.com); 没有301redirect,也没有iframes。
我一直在阅读很多,我认为要走的路是使用proxypass for apache的反向代理,但我仍然需要一些build议来configuration所有这些和一个基本的指导方针。
简报:
我忘了提及我正在使用Apache与PHP。
是的,你可以通过代理机制来实现这一点(你可以使用像varnish或squid以及proxypass),但是你希望代理重写输出的HTML吗?
除非你是一个域名注册商,否则有DNS涉及 – 你只需要设置你的networking服务器来满足“thesplendidjohn.com”的请求,并相应地路由它们。
你没有说过你有多less用户 – 一种方法是为每个域创build一个虚拟主机(发送一个SIG_USR1来处理这个变化)。 另一种方法是使用默认/通配符域,然后使用mod_rewrite将主机名复制到URLpath中。
RewriteRule ^/(.*) /${HTTP_HOST}/$1
(如果你想明确地访问http://mysite.com/thesplendidjohn.com可能需要一些琐事)