• Resolved ctrlaltdeath

    (@ctrlaltdeath)


    I’m testing with two sites in a network setup right now and am running into problems with domain mapping when SSL is enabled, specifically when trying to access the admin pages for the subdirectory site.

    I have the following setup (DNS names have been changed):

    WordPress network installed, using subdirectories and the domain mapping plugin.
    Two blogs:
    *dev.main.domain.com – Main blog installed when I initially set up WP
    *other.domain.com – Second blog, added through WP as dev.main.domain.com/other and configured to map to other.domain.com using the domain mapping plugin.

    I’m using these domains because we’re planning to transition a number of sites into this new WP network, but some sites have DNS names like site.domain.com while others are named site.main.domain.com.

    SSL is configured in my Apache config using a wildcard certificate for main.domain.com.

    Under the “Domain Mapping Configuration” page, I have the following options selected:
    1.Remote Login
    3.User domain mapping page
    4.Redirect administration pages to site’s original domain

    Without SSL enabled, everything works just fine. Browsing to other.domain.com displays the correct blog, and dev.main.domain.com/other also redirects properly.
    Once I enable SSL, I can still access the frontend pages, but the login page / admin pages for the subdirectory site are not coming up – I get an Apache 404 error when trying to browse to other.domain.com/wp-admin and dev.main.domain.com/other/wp-admin.

    If I disable options 1 and 4 under the domain mapping configuration, then I can get to the admin page for the subdirectory site via other.domain.com/wp-admin but NOT dev.main.domain.com/other/wp-admin. Obviously, I get certificate mismatch errors since the wildcard is for main.domain.com and not domain.com, but I’m not as concerned with that at the moment. I’m just trying to figure out what I’m missing in my config that would cause it to behave like this.

    I’m admittedly a little fuzzy on the ins and outs of domain mapping and mod_rewrite, but I’m suspecting that it’s something with how SSL and mod_rewrite are interacting with each other. Any ideas, or am I going about this all wrong? I’ve included my Apache VirtualHost configuration and my .htaccess directives below.

    Apache config:

    [Code moderated as per the Forum Rules. Please use the pastebin]

    .htaccess:

    # BEGIN WordPress
    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ - [L]
    RewriteRule ^link([^/]*).html$ rewrite.php?link=$1 [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).*) $1 [L]
    RewriteRule  ^[_0-9a-zA-Z-]+/(.*\.php)$ $1 [L]
    RewriteRule . index.php [L]
    # END WordPress

Viewing 11 replies - 1 through 11 (of 11 total)
  • Moderator Ipstenu (Mika Epstein)

    (@ipstenu)

    ?????? Advisor and Activist

    Without SSL enabled, everything works just fine. Browsing to other.domain.com displays the correct blog, and dev.main.domain.com/other also redirects properly.

    Once I enable SSL, I can still access the frontend pages, but the login page / admin pages for the subdirectory site are not coming up – I get an Apache 404 error when trying to browse to other.domain.com/wp-admin and dev.main.domain.com/other/wp-admin.

    Are you using SSL for admin only? I know you can use it with subdomains, but I’m fairly sure that using it for mapped domains is trickier since you have to account for the fact that browsers don’t want you to do cross-authenticate like that (evil spammer/scammers would love to do that to you).

    Thread Starter ctrlaltdeath

    (@ctrlaltdeath)

    My intention would be to use SSL for admin only. Looking further into the wp-config.php settings, I saw that I had FORCE_SSL_ADMIN set to true – really, I would be ok with just having SSL for logins, so I set it to FORCE_SSL_LOGIN instead, but I’m still having the same issues.

    Thread Starter ctrlaltdeath

    (@ctrlaltdeath)

    Just thinking, I went for the subdirectory approach because when I was initially trying to get things going, I had some issues getting subdomains to work properly. I think I’ve learned enough through this process to try it again, but I’m wondering – would subdomains be a better approach to give me what I’m trying to accomplish?

    Thread Starter ctrlaltdeath

    (@ctrlaltdeath)

    Apache config pastebin per forum rules:
    https://pastebin.com/bVkB40aU

    Moderator Ipstenu (Mika Epstein)

    (@ipstenu)

    ?????? Advisor and Activist

    Subdomain vs subfolder doesn’t really matter much. I’m really inclined to think part of it is that you’re MAPPING subdomains and it’s gobbering the SSL.

    I use SSL Admin with a subfolder and a subdomain install of WP without issues, so I know that works fine.

    Thread Starter ctrlaltdeath

    (@ctrlaltdeath)

    Hmm…so to test a little further and narrow it down, I’ve disabled the domain mapping plugin.

    I’m still getting the 404 error when trying to browse to dev.main.domain.com/other/wp-admin over HTTPS, though plain HTTP works fine.

    Moderator Ipstenu (Mika Epstein)

    (@ipstenu)

    ?????? Advisor and Activist

    Okay so to make sure I get this…

    dev.main.domain.com – Main blog installed when I initially set up WP

    This is where we’re running MultiSite from and https works fine?

    dev.main.domain.com/other is your subsite.

    Thread Starter ctrlaltdeath

    (@ctrlaltdeath)

    Correct.

    Moderator Ipstenu (Mika Epstein)

    (@ipstenu)

    ?????? Advisor and Activist

    And you put in define('FORCE_SSL_ADMIN', true); in your wp-config?

    Thread Starter ctrlaltdeath

    (@ctrlaltdeath)

    That’s right. I’ve also tried FORCE_SSL_LOGIN instead, with the same results.

    Thread Starter ctrlaltdeath

    (@ctrlaltdeath)

    Well, looks like I missed the completely obvious. In my Apache vhost configuration for SSL, I had an incorrectly specified <Directory> directive. I had copied the directives over from the non-SSL vhost configuration so I thought the settings were identical, but I had completey forgotten that I had changed a directory name a while back, after I had copied the configuration info.

    So…for anybody running into this, double- and triple-check your DocumentRoot and Directory directives – I thought mine were fine, but obviously didn’t look hard enough. ??

    Ipstenu, thanks for taking a look at this for me!

Viewing 11 replies - 1 through 11 (of 11 total)
  • The topic ‘404 errors with wp-admin section on multisite install’ is closed to new replies.