【问题标题】:Domainname to website's subdomain域名到网站的子域
【发布时间】:2016-02-01 17:23:41
【问题描述】:

我希望这不是一个重复的问题,但我找不到一个好的答案。我是域名、服务器等方面的新手......

我创建了一个网站 www.mywebsite.com。在这里,成员可以创建一个帐户。通过创建帐户,他们可以获得自己的网址:www.mywebsite.com/username

他们现在有一个自己的“网站”,可以访问以下链接:

  • www.mywebsite.com/username/about-me
  • www.mywebsite.com/username/contact-me
  • www.mywebsite.com/username/blog
  • ...

在很多情况下,这些成员已经拥有自己的域名 (www.username.com)。 我想知道如何将此域名链接到他们在我的网站上创建的“网站”。

示例

  • www.username.com 指向 www.mywebsite.com/username
  • www.username.com/about-me 指向 www.mywebsite.com/username/about-me
  • www.username.com/contact-me 指向 www.mywebsite.com/username/contact-me
  • ...

我正在使用 PHP 托管,因此我的网站是用 PHP 编写的。 首先,它不应该是自动化的。我将在第一种情况下手动完成。我应该如何开始?

【问题讨论】:

  • 为什么不在 javascript 中执行此操作?如果有新域,则设置用户可以更改的变量。然后,在 javascript 中,检查是否传递了 PHP 变量,如果是,则重定向顶级域是否不是他们保存的新域(您通过 php 传递给 javascript)

标签: php user-accounts subdomain domain-name


【解决方案1】:

简而言之:

  1. 您需要确保您的站点是服务器上的默认站点。如果您使用的是共享主机,则可能不会出现这种情况。
  2. 域名的 DNS 需要指向您服务器的 IP 地址。
  3. 在您的 PHP 中检查 $_SERVER['HTTP_HOST'],检查它是否不是您自己网站的主机名,将其与用户匹配(可能使用数据库查找),然后使用它而不是 URL 的第一个路径段确定要加载哪个用户的数据。

您还需要确保当 HTTP_HOST 匹配用户时,您处理 /foo 的方式与您通常处理 /$USER/foo 的方式相同。

【讨论】:

  • 谢谢!我正在使用共享托管服务,所以这会是个问题吗?
  • @user1141796 — 很有可能。
猜你喜欢
  • 1970-01-01
  • 2012-06-28
  • 2020-01-10
  • 1970-01-01
  • 2021-09-27
  • 2021-11-03
  • 1970-01-01
  • 2013-06-25
  • 2011-04-20
相关资源
最近更新 更多