将域名分配给不同的URL

时间:2011-10-22 23:40:08

标签: php .htaccess url dns

我创建了一个网站构建器应用程序,网站访问者可以使用我的网站自行构建他们的网站。目前,每个网站网址都是这样的:

www.sitebuilder.com/sites/site_id=18

我想要的是让每个用户拥有一个真实的域名。例如,如果site_id=18的用户想要一个新的域名:

www.newdomain.com 

然后www.newdomain.com应显示www.sitebuilder.com/sites/site_id=18

的内容

但不应该通过转发来完成。关于如何做的任何想法?

2 个答案:

答案 0 :(得分:1)

www.newdomain.com和(可能)newdomain.com的A记录需要指向您的服务器(如果您还不知道这一点/知道这意味着什么,我认为您做的很重要关于DNS如何运作的最少阅读。那你有两个选择:

  • 可以说,更好和更常用的方法是在您的Web服务器上使用虚拟主机(使用类似Apache的mod_vhost_alias),并以这样的方式配置服务器:当它收到给定域的请求时,它提供了正确的文件 - 从您的URL方案目前的工作方式来看,这不是一个简单的任务,不会彻底改变您的架构,您需要知道自己在做什么。
  • 您可以在PHP中检查用于访问网站的域(使用$_SERVER['HTTP_HOST']),并根据此提供正确的文件。这可能更容易设置,但我个人认为从长远来看它不太可持续 - 这是我的个人意见和YMMV,这是一个可能会被争论几个小时的主题(虽然SO不是那个地方辩论)。

答案 1 :(得分:0)

这实际上取决于您拥有的主机设置类型。每当我看到这个(你想要一个直接映射到路径的域而不使用任何类型的重定向)时,通常需要通过手动调整设置来处理主机的后端。

例如,用户如何获得自己的网址?显然他们不会去GoDaddy购买他们自己 - 你可能会提供它作为服务,并自己照顾注册商的东西。

讨厌说出来,但是当用户购买域时,您可能只需手动将域映射到服务器空间上的正确文件夹。我确信域名流程目前不是100%自动化的,那么这里和那里还有5分钟的工作时间?只需设置一个脚本,当有人为某个域付费时会向您发送电子邮件,以提醒您进行必要的后端更改。然后告诉用户,更改最初需要24-48小时才能实施。