Create Dynamic Subdomains using PHP and Htaccess

    Rating: ★★★★☆
    View: 176
    Download: 172

    Step 1
    Go to your domain DNS(Domain Name Settings), click add zone record. 

     

    Create Dynamic Subdomains A ZONE settings


    Step 2
    You need to create a custom A record to serve all your subdomains. Select A record, HOST * POINTS TO: Your ID Address(Eg: 106.21.252.71)
     

    Create Dynamic Subdomains A ZONE settings add


    Step 3
    Repeat the same for HOST @, here is the listed A records. 
     

    Create Dynamic Subdomains A record settings



    Step 4
    Now add CNAME record, HOST www POINTS TO @ this refers to your IP address. 
     

    Create Dynamic Subdomains CNAME ZONE settings add


    Step 5
    CNAME list should be in following way. 
     

    Create Dynamic Subdomains CNAME record settings


    Step 6
    Save all of your domain DNS settings. 
     

    Working with Hosting Server

    We can achieve dynamic subdomains system with .htaccess URL redirection configuration file, here I have a project directory called yourwesbite_folder 
     

    Create Dynamic Subdomains .htaccess settings


    (1) Root .htaccess
    This file is redirection http://www.yourwesbite.com to http://yourwebsite.com for home page use. All of the subdomain redirection to yourwebsite_folder

    RewriteEngine On
    
    RewriteCond %{HTTP_HOST} ^www.yourwebsite.com
    RewriteRule (.*) http://yourwebsite.com/$1 [R=301,L]
    
    RewriteCond %{HTTP_HOST} ^yourwebsite\.com $
    RewriteCond %{REQUEST_URI} !^/yourwebsite_folder/
    RewriteRule (.*) /yourwebsite_folder/$1
    
    RewriteCond %{HTTP_HOST} ^(^.*)\.yourwebsite.com
    RewriteCond %{REQUEST_URI} !^/yourwebsite_folder/
    RewriteRule (.*) /yourwebsite_folder/$1

    (2) Inside Folder .htaccess
    This file is rewriting the subdomain urls. 

    http://yourwesbite.com/index.php?siteName=isource
    to 
    http://isource.yourwebsite.com

    Options +FollowSymLinks
    RewriteEngine On
    
    RewriteBase /
    
    RewriteRule ^([aA-zZ])$ index.php?siteName=$1
    RewriteCond %{HTTP_HOST} ^(^.*)\.yourwebsite.com
    RewriteRule (.*) index.php?siteName=%1

    More .htaccess tips: Htaccess File Tutorial and Tips.

    index.php
    This file contains simple PHP code, using regular expressions validating the subdomain value.

    //HTML Code
    
    

    Project Title

    //Home Page //Redirect to Subdomain Page.

    No Subdomain Folder

    If you are using root directory(htdocs/public_html) as a project directory, use this following .htaccess file. 

    Options +FollowSymLinks
    RewriteEngine On
    
    RewriteBase /
    
    RewriteCond %{HTTP_HOST} ^www.yourwebsite.com
    RewriteRule (.*) http://yourwebsite.com/$1 [R=301,L]
    RewriteRule ^([aA-zZ])$ index.php?siteName=$1
    RewriteCond %{HTTP_HOST} ^(^.*)\.yourwebsite.com
    RewriteRule (.*) index.php?siteName=%1
    loading Đang tải...

    api được ưa chuộng