如何制作tumblr风格的个人资料网址

Azz*_*zzo 5 apache .htaccess mod-rewrite virtualhost

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

http://www.username.tumblr.com/ 
http://username.tumblr.com/
Run Code Online (Sandbox Code Playgroud)

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

http://www.website.com/profile.php?user=username
Run Code Online (Sandbox Code Playgroud)

http://www.website.com/username
Run Code Online (Sandbox Code Playgroud)

使用以下内容 RewriteRule

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

我不知道tumblr如何做这些个人资料网址.

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

http://www.username.website.com/
http://username.website.com/
Run Code Online (Sandbox Code Playgroud)

我有一个VirtualHost.

Jus*_*man 6

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

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

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

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

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

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