Mac OS X 上的动态子域名

Mac OS X 上的动态子域名

这是我的理想设置,我想弄清楚如何去做:

我有一个专业托管的域名:

示例.net

我有一个子域名 home.example.net,它指向我家里的 Mac mini。我已经让它正常工作了。home.example.net 的文档根目录是 /Users/me/Sites

我想设置动态子域,使得 home.example.net(正则表达式版本:*.home.example.net)之前的任何内容都具有文档根目录:/Users/me/Sites/$1

例如:访问 bacon.home.example.net 将具有文档根目录 /Users/me/Sites/bacon

我如何获得此设置以便不必为每个项目添加新的虚拟主机?

答案1

您需要启用mod_rewrite

a2enmod rewrite

并将以下指令添加到您的 Apache 配置中:

ServerAlias *.home.example.net

<Directory /User/me/Sites>
  RewriteEngine On
  RewriteCond %{HTTP_HOST} !^home\.example\.net
  RewriteCond %{HTTP_HOST} ^([^.]+).home\.example\.net
  RewriteRule ^(.*)$ http://home.example.net/%1/$1 [L]
</Directory>

当然您需要确保每个子域的DNS记录和子目录都存在。

相关内容