WordPress.org

Ready to get started?Download WordPress

Forums

Themes not working in multisite subfolders (7 posts)

  1. Michael Sinclair
    Member
    Posted 5 months ago #

    I would appreciate any help in getting themes to work in sub folders.

    Themes work ok on 'cyc.manorway.org.uk' but refuse to work on sub folders: 'cyc.manorway.org.uk/karate'. Subfolders have been set to use the WP theme 2012.
    Is this because I have used both a subdomain and subfolders?

    As you see I have configured the temporary test site http://www.manorway.org.uk for sub domains 'cyc' and sub folders, in this case 'karate'.

    My host is Namesco and their servers are Zeus based running Linux.

    They have produced their own rewrite.script but this and others found online are unable to help in getting the themes to work in the subfolders.
    cyc.manorway.org.uk has been setup with a 'Wildcard' in their DNS setup, although they say that it is not necessary.

    There are no plugins running.

    My present rewrite.script:

    RULE_0_START:
    # get the document root
    map path into SCRATCH:DOCROOT from /
    # initialize our variables
    set SCRATCH:ORIG_URL = %{URL}
    set SCRATCH:REQUEST_URI = %{URL}
    # see if theres any queries in our URL
    match URL into $ with ^(.*)\?(.*)$
    if matched then
      set SCRATCH:REQUEST_URI = $1
      set SCRATCH:QUERY_STRING = $2
    endif
    RULE_0_END:
    RULE_1_START:
    # prepare to search for file, rewrite if its not found
    set SCRATCH:REQUEST_FILENAME = %{SCRATCH:DOCROOT}
    set SCRATCH:REQUEST_FILENAME . %{SCRATCH:REQUEST_URI}
    # check to see if the file requested is an actual file or
    # a directory with possibly an index.  don't rewrite if so
    look for file at %{SCRATCH:REQUEST_FILENAME}
    if not exists then
      look for dir at %{SCRATCH:REQUEST_FILENAME}
      if not exists then
        set URL = /index.php?q=%{SCRATCH:REQUEST_URI}
        goto QSA_RULE_START
      endif
    endif
    # if we made it here then its a file or dir and no rewrite
    goto END
    RULE_1_END:
    QSA_RULE_START:
    # append the query string if there was one originally
    # the same as [QSA,L] for apache
    match SCRATCH:ORIG_URL into % with \?(.*)$
    if matched then
      set URL = %{URL}&%{SCRATCH:QUERY_STRING}
    endif
    goto END
    QSA_RULE_END:  "
    
    Script added to wp-config.php:
    
    "  /*Multisite */
    
    define( 'WP_ALLOW_MULTISITE', true );
    
    define('MULTISITE', true);
    define('SUBDOMAIN_INSTALL', false);
    define('DOMAIN_CURRENT_SITE', 'cyc.manorway.org.uk');
    define('PATH_CURRENT_SITE', '/');
    define('SITE_ID_CURRENT_SITE', 1);
    define('BLOG_ID_CURRENT_SITE', 1);
    define('WP_ALLOW_REPAIR', true);
    
    /* That's all, stop editing! Happy blogging. */

    [Moderator Note: Please post code & markup between backticks (not double quotes) or use the code button. Your posted code may now have been permanently damaged by the forum's parser.]

    Any help in getting themes to work on subfolders would be very much appreciated.

    Thank you

  2. Michael Sinclair
    Member
    Posted 5 months ago #

    My apologies, will re-submit code minus double quotes in due course.

  3. Michael Sinclair
    Member
    Posted 5 months ago #

    Hear is my present rewrite.script less double quotes and below that the wp-config.php added script.

    RULE_0_START:
    # get the document root
    map path into SCRATCH:DOCROOT from /
    # initialize our variables
    set SCRATCH:ORIG_URL = %{URL}
    set SCRATCH:REQUEST_URI = %{URL}
    # see if theres any queries in our URL
    match URL into $ with ^(.*)\?(.*)$
    if matched then
      set SCRATCH:REQUEST_URI = $1
      set SCRATCH:QUERY_STRING = $2
    endif
    RULE_0_END:
    RULE_1_START:
    # prepare to search for file, rewrite if its not found
    set SCRATCH:REQUEST_FILENAME = %{SCRATCH:DOCROOT}
    set SCRATCH:REQUEST_FILENAME . %{SCRATCH:REQUEST_URI}
    # check to see if the file requested is an actual file or
    # a directory with possibly an index.  don't rewrite if so
    look for file at %{SCRATCH:REQUEST_FILENAME}
    if not exists then
      look for dir at %{SCRATCH:REQUEST_FILENAME}
      if not exists then
        set URL = /index.php?q=%{SCRATCH:REQUEST_URI}
        goto QSA_RULE_START
      endif
    endif
    # if we made it here then its a file or dir and no rewrite
    goto END
    RULE_1_END:
    QSA_RULE_START:
    # append the query string if there was one originally
    # the same as [QSA,L] for apache
    match SCRATCH:ORIG_URL into % with \?(.*)$
    if matched then
      set URL = %{URL}&%{SCRATCH:QUERY_STRING}
    endif
    goto END
    QSA_RULE_END:
    
    Wp-rewrite.script:
    
    /* Multisite */
    
    /* define( 'WP_ALLOW_MULTISITE', true ); */
    
    define('MULTISITE', true);
    define('SUBDOMAIN_INSTALL', false);
    define('DOMAIN_CURRENT_SITE', 'cyc.manorway.org.uk');
    define('PATH_CURRENT_SITE', '/');
    define('SITE_ID_CURRENT_SITE', 1);
    define('BLOG_ID_CURRENT_SITE', 1);
    define('WP_ALLOW_REPAIR', true);

    /* That's all, stop editing! Happy blogging. */

    Thanks, lesson learnt

  4. As you see I have configured the temporary test site http://www.manorway.org.uk for sub domains 'cyc' and sub folders, in this case 'karate'.

    You've lost me here. You can't have BOTH subdomains AND subfolders....

    Are these separate networks?

  5. Michael Sinclair
    Member
    Posted 5 months ago #

    One network. http://cyc.manorway.org.uk/ is the main test site which will include subfolders for each area of the youth centre. http://cyc.manorway.org.uk/karate
    http://cyc.manorway.org.uk/juniors etc Clicking on one with a subfolder displays the contents but minus the theme! http://cyc.manorway.org.uk/ displays ok.

    This is only a test site and obviously won't include manorway.org.uk in it. If it can't be done I shall have to put my thinking cap on again!

  6. Ah, okay,

    So the tl;dr is that your rewrite script is wrong. Sadly, I have NO idea what it should be for Zeus.

    If you can translate this .htaccess (for subfolder) to your config, though, that would be the fix: http://codex.wordpress.org/htaccess#Multisite

  7. Michael Sinclair
    Member
    Posted 5 months ago #

    Yes, I thought it might be. Thank you Ipstenu.
    Wordpress has provided the correct .htaccess and extra WP-config.php script within the Network Admin section that I need to use.
    So, all you pro coders, can anyone help converting the following .htaccess script into zeus rewrite.script please?
    I would be very grateful as this has now been bugging me for ages.

    {\rtf1\ansi\ansicpg1252
    {\fonttbl\f0\fmodern\fcharset0 Courier;}
    {\colortbl;\red255\green255\blue255;\red51\green51\blue51;\red255\green255\blue255;}
    \deftab720
    \pard\pardeftab720\sl320\sa120\partightenfactor0
    \f0\fs24 \cf2 \cb3 \expnd0\expndtw0\kerning0
    \outl0\strokewidth0 \strokec2

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

    Thank you.

Reply

You must log in to post.

About this Topic