1

我们有一个自定义组件,可以为注册用户做各种美妙的事情。其中一项要求是能够使用用户名作为子域来检索和使用其各种设置。例如http://abc.ourdomain.com必须检索用户名为“abc”的 jos_users 记录。从那里我们在会话中使用该信息并继续使用具有这些值的组件函数。

我已经尝试修改 $_SERVER["HTTP_HOST"] 来开始工作,但我希望 htaccess 有一种更简洁的方法,或者可以更好地服务于目的的插件。

4

1 回答 1

2

这样的事情可能在一个 .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]

于 2013-02-06T21:05:20.423 回答