如何制作Tumblr样式的个人资料网址

时间:2019-01-02 19:08:04

标签: apache .htaccess mod-rewrite virtualhost

我想知道,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]

我不知道如何使用这些个人资料网址。

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

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

我有一个VirtualHost。

1 个答案:

答案 0 :(得分:6)

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

这允许您将*.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

请注意,为解释起见,已尽可能简化和简化此示例。根据您的上下文,您可能需要其他规则来处理主域和其他条件。