我希望subdomain.example.com指向example.com/profile.php?user=subdomain
随着“子域”随着用户input而变化
你是怎样做的? 此外,我希望它是一个沉默的redirect,所以subdomain.example.com显示在地址栏中时,用户键入它或点击链接
看到这一个: http : //www.easymodrewrite.com/example-subdomains你实际上需要
<IfModule mod_rewrite.c> Options +FollowSymLinks Options +Indexes RewriteEngine On RewriteBase / RewriteCond %{HTTP_HOST} !www.domain.com$ [NC] RewriteCond %{HTTP_HOST} ^(www.)?([a-z0-9-]+).domain.com [NC] RewriteRule (.*) domain.com/profile.php?user=%2 [L] </IfModule>
编辑:有一个“沉默”的redirect,最后的规则应该是:
RewriteRule (.*) /profile.php?user=%2 [L]
确保在通配符的DocumentRoot
所在的目录中有profile.php
。
我自己并没有这样做,但我会先从:
使用您的DNS提供商,configuration通配符。
*.domain.com. IN A 1.2.3.4
使用Apache的mod_rewrite
检查主机:标题并修改URL以符合您的规格。
解决scheme可能是所有提到的解决scheme的组合。
首先,您需要JJ提到的DNS条目。 然后你必须使用ServerAlias指令来使所有的子域指向同一个目录。 最后,您可以使用Niek Bergman的代码的前两行:
$domain = explode(".", $_SERVER['SERVER_NAME']); $username = htmlentities($domain[0]);
从那里你可以做任何你想要的$用户名。