首页 > 解决方案 > 如何制作 tumblr 风格的个人资料网址

问题描述

我想知道,tumblr 是如何做这样的个人资料网址的:

http://www.username.tumblr.com/ 
http://username.tumblr.com/

我知道我们可以更改个人资料网址

http://www.website.com/profile.php?user=username

http://www.website.com/username

使用以下RewriteRule

RewriteRule ^([^/]+)/?$ profile.php?user=$1 [L,QSA,NC]

我不知道 tumblr 是如何处理这些个人资料网址的。

我们如何制作这样的用户个人资料网址:

http://www.username.website.com/
http://username.website.com/

我有一个虚拟主机。

标签: apache.htaccessmod-rewritevirtualhost

解决方案


关键解决方案:通配符子域

这使您可以*.domain.com指出您的服务器。

在您的示例中,假设我们启用了通配符子域,domain.com并且我们希望提供用户子域,例如http://username.domain.com. 你会有这样的事情:

RewriteCond %{HTTP_HOST} ^((?!www.)[^.]+)\.domain\.com$ [NC]
RewriteRule ^(.*)$ /%1/$1 [L]

http://username.domain.com/xxx指向哪里/username/xxx

请注意,此示例已尽可能简化和简化以进行说明。根据您的上下文,您可能需要其他规则来处理主域和其他条件。


推荐阅读