WordPress Multisite on BlitzPress
Setting Up WordPress Multisite
WordPress Multisite lets you run multiple WordPress sites from a single installation. On BlitzPress with OpenLiteSpeed, both subdomain and subdirectory configurations are supported.
Subdomain vs Subdirectory
| Type | URL Pattern | Requirements |
|---|---|---|
| Subdirectory | example.com/site1 | Simpler setup, single SSL cert |
| Subdomain | site1.example.com | Wildcard DNS, wildcard SSL |
Step 1: Enable Multisite in wp-config.php
Add this constant before the “stop editing” line:
define( 'WP_ALLOW_MULTISITE', true );
Then go to Tools > Network Setup in WordPress admin and follow the prompts.
Step 2: Add Required Constants
After running the Network Setup, WordPress gives you constants to add to wp-config.php:
define( 'MULTISITE', true );
define( 'SUBDOMAIN_INSTALL', false ); // true for subdomains
define( 'DOMAIN_CURRENT_SITE', 'example.com' );
define( 'PATH_CURRENT_SITE', '/');
define( 'SITE_ID_CURRENT_SITE', 1 );
define( 'BLOG_ID_CURRENT_SITE', 1 );
Step 3: OLS Configuration
For subdirectory multisite, the standard WordPress rewrite rules work. For subdomain multisite, you need:
- Wildcard DNS: Add a wildcard A record (
*.example.com) pointing to your server - Wildcard SSL:
blitzpress ssl:wildcard example.com - OLS listener map: Add
*.example.comto the vhost listener
Step 4: OLS Rewrite Rules for Multisite
Subdirectory multisite needs special rewrite rules in vhconf.conf:
RewriteRule .* - [E=noabort:1]
RewriteRule ^index\.php$ - [L]
# uploaded files
RewriteRule ^([_0-9a-zA-Z-]+/)?files/(.+) wp-includes/ms-files.php?file=$2 [L]
# add trailing slash to /wp-admin
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php [L]
Managing Network Sites
# List all sites
sudo wp site list --path=$WP --allow-root
# Create a new site
sudo wp site create --slug=newsite --title="New Site" --path=$WP --allow-root
# Delete a site
sudo wp site delete 2 --yes --path=$WP --allow-root
Important Notes
- Multisite must be set up on a fresh WordPress install or early in the site’s life
- Some plugins are not multisite-compatible — test before deploying network-wide
- Super Admins manage the network; regular admins manage individual sites