子域虚荣用户名重写

时间:2014-03-30 06:13:25

标签: .htaccess tumblr

我很好奇Tumblr的虚荣子域是如何工作的。

我不确定它是否通过htaccess重定向,但你会如何重写:

myname.mywebsite.com

要:

www.mywebsite.com/profile.php?username=myname

非常感谢任何指示。

1 个答案:

答案 0 :(得分:0)

您不一定需要重写任何内容。您可以配置Web应用程序实例或网站(在IIS,Apache等中)以响应所有请求,而不管Host标头(即域名)。然后,Web应用程序可以在应用程序代码中查询Host标头并做出相应的响应:

<?php
$domainName = $_SERVER['HTTP_HOST'];
if( $domainName == 'foo.mydomain.com' ) {
    // do something special?
} else {
    echo $domainName;
}
?>

另请注意,Apache网站上的指南(http://httpd.apache.org/docs/2.0/misc/rewriteguide.html)说明了如何根据Host标题执行URI重写(请参阅“虚拟用户主机”部分):

RewriteEngine on
RewriteCond   %{HTTP_HOST}                 ^www\.[^.]+\.host\.com$
RewriteRule   ^(.+)                        %{HTTP_HOST}$1          [C]
RewriteRule   ^www\.([^.]+)\.host\.com(.*) /home/$1$2