1

我正在为我的用户创建虚荣网址。我该怎么做?

我想要类似 username.domain.com 的东西

我的第二个问题是,我也可以根据客户的要求定制这个吗?比如说,客户说向我的帐户添加一项功能,我能做到吗,因为它几乎就像我网站中的一个单独的网站?

4

3 回答 3

2

您可以使用 URL 重写,例如通过 Apache 的mod_rewrite来解决这个问题。

但是,出于安全和实际原因,我不建议使用类似username.domain.com的名称,除非您仔细过滤掉用户名,例如www. 更好地使用username.u.domain.com或类似的东西。

这是使用 HTTP 重定向重写规则的示例。

RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\.domain\.com$
RewriteCond %{HTTP_HOST} ^([^.]+)\.u\.domain\.com$
RewriteRule .* http://domain.com/user/%1 [R,L]

或者,您也可以使用 DNS 通配符/catch-all 条目,并使用正则表达式在您的域之前提取用户名部分,例如

function getUserNameFromHost() {
    if ( !preg_match('`^(\w+)\.u\.domain\.com$`', $_SERVER['HTTP_HOST'], $matches) )
        return false;
    else
        return $matches[1];
}
于 2010-09-27T21:09:46.960 回答
0

你可以看看这个:

如何为用户注册时创建子域

于 2010-09-27T21:05:16.493 回答
0

网址重写。使用 mod_rewrite 在地址栏中显示子域,但在内部检索不同的 URL。

例如:aaa.domain.com 应该去 domain.com/users/aaa

于 2010-09-27T21:12:08.897 回答