我希望为我的用户创建虚荣网址。我该怎么做?
我想要像username.domain.com
这样的东西我的第二个问题是,我可以根据客户要求定制吗?就像我们说的那样,客户说要在我的帐户中添加一项功能,我是否可以这样做,因为它几乎就像我网站中的一个单独的网站?
答案 0 :(得分:2)
您可以使用网址重写,例如通过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];
}
答案 1 :(得分:0)
答案 2 :(得分:0)
网址重写。使用mod_rewrite在地址栏中显示子域,但在内部检索不同的URL。
例如:aaa.domain.com应该访问domain.com/users/aaa