Take the 2-minute tour ×
WordPress Development Stack Exchange is a question and answer site for WordPress developers and administrators. It's 100% free, no registration required.

I am on a VPS running Nginx as a backend server.

I want to set up a sub-directory multisite WordPress installation, however I want all sub-sites to be under one sub-domain also. For example:

My main site:

domain.com

Subsites:

clients.domain.com/site1
clients.domain.com/site2
clients.domain.com/site3

I realise I can install another copy of WordPress under clients.domain.com and use that as the Multisite home, however since domain.com is already running WordPress this strikes me as inefficient in terms of management and disk space especially as I only wish to serve a login page at the root of that subdomain anyway.

I also realise I can redirect all requests to clients.domain.com to domain.com however I don't want the subsites or their related files to be accessible via domain.com/site1. The subsites should recognise their parent site as being domain.com.

What is the best method for going about this?

share|improve this question
add comment

3 Answers 3

up vote 1 down vote accepted

This has been solved, please note I am using Wordpress 3.8 at the time of writing this, if you are from the future these plugins may not work with your current version, please check compatibility first.

The plugin WP Multi Network provides this functionality. It basically allows you to create nested multi-site networks. I have my primary network at domain.com and created another network called Clients at clients.domain.com.

Now domain.com points to my main site, but any subsite I create from the Clients network will take an URL in the format clients.domain.com/sitename/. All networks share the same database.

I used the standard wordpress subdirectory multisite configuration for Nginx (http://codex.wordpress.org/Nginx) and use the plugin Nginx helper to generate my map{} rules.

I hope this helps anyone else who has this issue. You can now create multiple multisite networks at different subdomains (or different domains) sharing a single database and administration panel.

share|improve this answer
add comment

You can use a drop-in called sunrise.php to change the way, WordPress maps the request on a blog in your network. I explained a possible solution in this answer. The key is to parse your request clients.domain.com/site1/some/post/ into the domain clients.domain.com and path /site1 and compare it with the columns domain and path in the wp_blogs table. On this way, it's up to you how to handle Subdomain and Paths as identifier for blogs. With this data you have to set up some global variables like $current_blog and $current_site.

When you use a sub domain install, you necessarily need not to change the admin GUI. Just create a blog with the domain clients.domain.com after that, go to the edit screen of the blog and alter the path. It's not very comfortable but it works.

It's of cause possible, that you ran into path conflicts when using different path levels as root paths for blogs. Because sunrise.php is called very early, the blog path will allways win over the permalink path.

share|improve this answer
add comment

Here is one very simple solution:

  1. install and configure WP multisite sub-directory for clients.domain.com
  2. install Domain Mapping plugin
  3. create all your sub-sites
  4. Domain map one of your sub-sites to domain.com
share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.