我们有一个自定义组件,可以为注册用户做各种美妙的事情。其中一项要求是能够使用用户名作为子域来检索和使用其各种设置。例如http://abc.ourdomain.com必须检索用户名为“abc”的 jos_users 记录。从那里我们在会话中使用该信息并继续使用具有这些值的组件函数。
我已经尝试修改 $_SERVER["HTTP_HOST"] 来开始工作,但我希望 htaccess 有一种更简洁的方法,或者可以更好地服务于目的的插件。
我们有一个自定义组件,可以为注册用户做各种美妙的事情。其中一项要求是能够使用用户名作为子域来检索和使用其各种设置。例如http://abc.ourdomain.com必须检索用户名为“abc”的 jos_users 记录。从那里我们在会话中使用该信息并继续使用具有这些值的组件函数。
我已经尝试修改 $_SERVER["HTTP_HOST"] 来开始工作,但我希望 htaccess 有一种更简洁的方法,或者可以更好地服务于目的的插件。
这样的事情可能在一个 .htaccess 文件中起作用:
Options +FollowSymlinks
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !www\. [NC]
RewriteCond %{HTTP_HOST} ^([^\.]+)\.ourdomain\.com [NC]
RewriteCond %{REQUEST_URI} !getuser\.php [NC]
RewriteRule .* http://ourdomain.com/getuser.php?user=%1 [L]
静默地图
http://abc.ourdomain.com
到:
http://ourdomain.com/getuser.php?user=abc
将子域捕获abc
到组 %1 并将其作为查询附加到脚本。
abc
是一个可变字符串。
getuser.php
可以是任何脚本。键user
是一个示例,它也可以是任何名称。
对于永久重定向,将 [L] 替换为 [R=301,L]