我为挪威客户提供一项小型服务,客户付款后即可在自己的域名上自动安装和配置 Wordpress 博客。它与 Page.ly 和 WPEngine 非常相似,只是针对挪威客户提供挪威版 Wordpress、支持、计费等服务。
后端是 WHM/CPanel(Apache、PHP、mySQL),付款后立即运行脚本,安装和配置 Wordpress,并向客户发送包含其用户名和密码的电子邮件。
新注册的域名需要一些时间来传播,因此,不幸的是,我的客户必须使用临时 URL 一两天,然后我才能将他们切换到他们自己的域名。
目前我的系统使用 mod_userdir ("serverIP/~cpanelusername")。然而,这不是最佳解决方案。它看起来不专业,令人困惑,并且对我和我的客户来说都相当麻烦。
我希望他们的博客的临时 URL 为“theirdomainwithoutextension.host.no”,其中“host.no”是我拥有的域,并与客户网站由同一台服务器提供服务。
我可以轻松修改脚本以在我的“host.no”域上创建子域,但如何将子域无缝映射到不同 CPanel/Apache/PHP 用户拥有/运行的文件夹?
答案1
您可以使用 cPanel 的 API 将子域名停放在实际用户的域名之上:
http://docs.cpanel.net/twiki/bin/view/ApiDocs/Api1/ApiPark
http://docs1.cpanel.net/twiki/bin/view/ApiDocs/Api2/ApiPark
我建议不要使用您的主域名来创建这些子域名。您或其他人可能不希望某些内容与您公司的名称或域名相关联。
答案2
你应该已经使用WordPress 多站点与域映射扩展。如果您是,那么这已经可以立即使用。(尽管您需要在脚本中添加一些内容来为每个新客户设置域映射。)这也消除了使用 mod_userdir 的需要,这似乎是一个丑陋的黑客行为......