We given steps to install wordpress multisite on subdomain. Many wordpress developers learned and managing their wordpress sites with multisite on subdomain.  Some even start managing WordPress sites for clients, friends, and family.

How to install wordpress multisite on subdomain

First download the wordpress 3.0 from following location


install wordpress multisite on subdomain

install wordpress multisite on subdomain

Start the wordpress installations:
First create database and put your database information

Second step

Login to wordpress admin panel


After Installation completion. Open the wp-config.php file from wordpress root folder.
Find following line.

 /* That's all, stop editing! Happy blogging. */

And change the line as follows:
 define('WP_ALLOW_MULTISITE', true);
 /* That's all, stop editing! Happy blogging. */


Now Refresh the wordpress admin panel. In tools tab menu(right side menu) you will find the network link. click on “network” link

install wordpress multisite on subdomain

install wordpress multisite on subdomain

Then click on install button

Complete the following steps to enable the features for creating a network of sites.

install wordpress multisite on subdomain

install wordpress multisite on subdomain

1.Create a blogs.dir directory in /var/www/html/wp3/wp-content. This directory is used to be stored uploaded media for your additional sites and must be writeable by the web server.
2. Add the following to your wp-config.php file in /var/www/html/wp3/ above the line reading /* That’s all, stop editing! Happy blogging.

define( 'MULTISITE', true );
define( 'SUBDOMAIN_INSTALL', false );
$base = '/wp3/';
define( 'DOMAIN_CURRENT_SITE', 'localhost' ); //Put your domain name
define( 'PATH_CURRENT_SITE', '/wp3/' );
define( 'SITE_ID_CURRENT_SITE', 1 );
define( 'BLOG_ID_CURRENT_SITE', 1 );

3. Add the following to your .htaccess file in /var/www/html/wp3/, replacing other WordPress rules:

RewriteEngine On
RewriteBase /wp3/
RewriteRule ^index\.php$ - [L]

# uploaded files
RewriteRule ^([_0-9a-zA-Z-]+/)?files/(.+) wp-includes/ms-files.php?file=$2 [L]

# add a trailing slash to /wp-admin
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule  ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
RewriteRule  ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
RewriteRule . index.php [L]

Once you complete these steps, your network is enabled and configured. You will have to log in again. Log In

Now you can click on super admin tag -> sites link and you can create multiple blogs from there.

Written by WPAPI

My name is Purab Kharat, Here is my Personal Blog: digcms.com. Work as an Senior Technical Lead at Smartsourcing Global Pvt Ltd in Princeton, NJ, USA. I contributor of many wordpress plugins and Drupal Modules. I am core developer of Drupal. Connect to purab on LinkedIn or Follow @purab on Twitter or Follow me on Google+ or Write Mail to purabdk@gmail.com or Chat with me on Skype : purabdk

This article has 5 comments

    • Wordpress API Reply

      if you are having dedicated hosting server then this is very easy by managing the virtual host entry. but if you are having shared hosting then you need to use your control panel and create subdomain and point to same folder.

  1. Satria Reply

    Hey thanks for this, I installed once or twice before but never used it and already forget how to do it.

    Thanks for your efforts and clear explanation, I love text and screenshots better than videos :)


  2. Greg Ledger Reply

    What I don’t get is how to create the blogs.dir directory. The path you show is relative, but relative to what? What would be the absolute path?

    I was able to get to the root folder via the ftp, but how do I get to it otherwise?

Leave a Comment

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>