Question

How do i offer Basecamp/SAAS App like sub domains to clients?

For example, my website URL is http://www.example.com whenever the user signup i want to offer them url like http://company.example.com which should load files/contents from /app directory of the website.

And later i want them to choose their own domain/sub-domain via CNAME, so that they can have URL like http://clients.mywebsite.com

I want to do this in Pure PHP and .HTACCESS and offcourse everything happens automatically.

And i want to keep URL structure same.., that is http://company.example.com/login, http://company.example.com/accounts, http://company.example.com/files/style.css though these files are located inside /app directory i want them to be accessed like this.

I can handle all PHP functions, i need help with .htaccess codes and how to go about CNAME.

Was it helpful?

Solution

Make sure DNS resolves all subdomains by including following in domain's zone:

*.example.com. 14400 IN A HereBeIP

Next, configure web server to recognize all incoming requests, for Apache, you need to add following to VirtualHost:

ServerAlias *.example.com

That's it. The only thing remaining is the logic in the code, you need to check host name to see whether a request was done to example.com or foo.example.com.

Updated with more details.

So, assuming your files are in /path/to/files/app, you need to configure virtual host like this:

<VirtualHost>
    SeverName example.com
    ServerAlias *.example.com
    DocumentRoot /path/to/files/app
    # plus what else is needed
</VirtualHost>

This way all requests will resolve to /app directory. To test it, apply above DNS configuration or simply add the domains you want tested into your hosts file, /etc/hosts on Linux or c:\Windows\System32\drivers\etc\hosts on Windows.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top