我正在为我的用户创建虚荣网址。我该怎么做?
我想要类似 username.domain.com 的东西
我的第二个问题是,我也可以根据客户的要求定制这个吗?比如说,客户说向我的帐户添加一项功能,我能做到吗,因为它几乎就像我网站中的一个单独的网站?
我正在为我的用户创建虚荣网址。我该怎么做?
我想要类似 username.domain.com 的东西
我的第二个问题是,我也可以根据客户的要求定制这个吗?比如说,客户说向我的帐户添加一项功能,我能做到吗,因为它几乎就像我网站中的一个单独的网站?
您可以使用 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];
}
你可以看看这个:
网址重写。使用 mod_rewrite 在地址栏中显示子域,但在内部检索不同的 URL。
例如:aaa.domain.com 应该去 domain.com/users/aaa