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.
关键解决方案:通配符子域.
这使您可以*.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
.
请注意,此示例已尽可能简化和简化以进行说明.根据您的具体情况,您可能需要其他规则来处理主域和其他条件.