Dhr*_*Jha 14 php .htaccess cname saas
我如何向客户提供像子域一样的Basecamp/SAAS App?
例如,我的网站URL是http://www.example.com
每当用户注册我想提供它们时http://company.example.com
,应该从/app
网站目录中加载文件/内容.
后来我希望他们通过CNAME选择自己的域/子域,这样他们就可以拥有像 http://clients.mywebsite.com
我想在Pure PHP和.HTACCESS中做到这一点,并且offcourse一切都会自动发生.
我想保持URL结构相同..,那就是http://company.example.com/login
,http://company.example.com/accounts
,http://company.example.com/files/style.css
虽然这些文件位于内部/app
目录我希望他们这样的访问.
我可以处理所有PHP函数,我需要有关.htaccess代码的帮助以及如何使用CNAME.
Dav*_*dža 11
确保DNS通过在域的区域中包含以下内容来解析所有子域:
*.example.com. 14400 IN A HereBeIP
Run Code Online (Sandbox Code Playgroud)
接下来,配置Web服务器以识别所有传入请求,对于Apache,您需要向VirtualHost添加以下内容:
ServerAlias *.example.com
Run Code Online (Sandbox Code Playgroud)
而已.唯一剩下的就是代码中的逻辑,您需要检查主机名以查看是否对example.com或foo.example.com发出了请求.
更新了更多详细信息.
因此,假设您的文件存在/path/to/files/app
,您需要像这样配置虚拟主机:
<VirtualHost>
SeverName example.com
ServerAlias *.example.com
DocumentRoot /path/to/files/app
# plus what else is needed
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
这样所有请求都将解析到/app
目录.要测试它,请应用上面的DNS配置,或者只是在Linux或Windows 上将要测试的域添加到hosts
文件中./etc/hosts
c:\Windows\System32\drivers\etc\hosts