我想知道,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/
我有一个虚拟主机。
最佳答案
关键解决方案:通配符子域。
这允许您使 *.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
。
请注意,为了便于解释,该示例已被尽可能地减少和简化。根据您的上下文,您可能需要其他规则来处理主域和其他条件。
关于apache - 如何制作 tumblr 风格的个人资料 url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54011867/