Now that WordPress 3.5 is supposed to work with core files in subdirectory, I decided to move my local development setup (subdirectory multisite) to that configuration.
Fast forward and what I have is following:
wordpress
(3.5 core)
wp-content
(content dir, configured via WP_CONTENT_DIR
and WP_CONTENT_URL
)
.htaccess
with:
RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ - [L]
# uploaded files
RewriteRule ^([_0-9a-zA-Z-]+/)?files/(.+) C:serverwwwdevwordpress/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).*) C:serverwwwdevwordpress/$2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*.php)$ C:serverwwwdevwordpress/$2 [L]
RewriteRule . index.php [L]
wp-config.php
with:
define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', false);
define('DOMAIN_CURRENT_SITE', 'dev.rarst.net');
define('PATH_CURRENT_SITE', '/');
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1);
index.php
with:
define('WP_USE_THEMES', true);
require('./wordpress/wp-blog-header.php');
Status:
- network admin works at
/wordpress/wp-admin/network/
but all links try to point to/wp-admin/network/
which errorsForbidden
withThe given path was above the root path: AH00127: Cannot map GET /wp-admin/network/ HTTP/1.1 to file
- root site works at
dev.rarst.net
with admin atdev.rarst.net/wordpress/wp-admin
- other subdir sites (
dev.rarst.net/*
) have broken uploads, and links to admin and stuff, hadn’t got to them yet.
The question in a nutshell – in what direction do I need to move from here to get everything working?
What admin links are even supposed to be with this setup (since core is in “real” subdir and sites are in “virtual” subdirs)?
Your
.htaccess
lines need to look like this:.htaccess can’t access locations outside of the document root, that is why paths like
C:serverwwwdev
fail. (The code above has been tested on my localhost multisite install).Because of the
.htaccess
rewrite, you don’t need to setWP_CONFIG_DIR
andWP_CONFIG_URL
they are calculated by WordPress accordingly. You can access your admin pages athttp://dev.rarst.net/wp-admin
orhttp://dev.rarst.net/subsite/wp-admin