WordPress multisite subdirectory redirect infinite loop issue

Any time I create a new site on my multisite install, I get an infinite loop redirect when navigating to that site’s admin. I’m using the default htaccess supplied by WP for my subdirectory install. Here’s what I have:

RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ - [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).*) site/$2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*.php)$ site/$2 [L]
RewriteRule . index.php [L]

FYI – My wp install is within a folder named ‘site’, and the issue is happening both on my local mamp install and on my hosting server.

Read More

Here’s the multisite info from my config file:

define( 'WP_ALLOW_MULTISITE', true );
define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', false);
define('DOMAIN_CURRENT_SITE', APP_URL);
define('PATH_CURRENT_SITE', '/site/');
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1);

I’ve spent the past 2 days googling, but to no avail. Here are the solutions I’ve tried that didn’t help (actually, there are more but SO won’t let me post more than two links yet):

Any help would be appreciated. I’m starting to get desperate :-/

Related posts

Leave a Reply

1 comment

  1. The problem is with the .htaccess and the wp install being in the folder ‘site’. To fix this issue edit the .htaccess to reflect the wp directory.

    Options +FollowSymLinks
    Options -indexes
    
    RewriteEngine On
    RewriteBase /site/
    RewriteRule ^index.php$ - [L]
    
    # uploaded files
    RewriteRule ^site/([_0-9a-zA-Z-]+/)?files/(.+) wp-includes/ms-files.php?file=$2 [L]
    
    # add a trailing slash to /wp-admin
    RewriteRule ^site/([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]
    RewriteCond %{REQUEST_FILENAME} -f [OR]
    RewriteCond %{REQUEST_FILENAME} -d
    RewriteRule ^ - [L]
    RewriteRule ^site/([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
    RewriteRule ^site/([_0-9a-zA-Z-]+/)?(.*.php)$ $2 [L]
    RewriteRule . index.php [L]