WordPress .htaccess preventing sub folder from rewriting its own urls

So I have been looking all over for a while, and cannot seem to find a particular solution I am looking for. I have seen many articles showing how to fix problems with wordpress rewrite, but none fix my problem.

I currently have WordPress Installed in my / Root directory. the .htaccess looks like this.

Read More
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^manager - [L,NC] <-- I added this from other examples.
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

So from what I can tell this tells wordpress, hey you will handle all the urls, for everything. forever. Seriously. For ever and everywhere 😛

So the problem comes when I have a sub directory site.com/manager

Here I would like to build a similar URL capturing method to manage what the user gets to see/access/etc. The line I added to the root .htaccess file (from what I have read) is suppose to tell wordpress, hey don’t touch my damn /manager folder.

WordPress being the sneaky greedy caregiver that it is fails to listen. ill go to test my site.com/manager/test (grabbing test and pulling info from sql with it) and wordpress takes over and throws me to the wordpress 404 page.

my .htaccess in /manager is as follows for refrence, I am thinking I will need to do some rewrite stuffs here too, but for now just trying to prevent wordpress from being over bearing :).

DirectoryIndex index.php
<FilesMatch ".(php|inc)$">
Order allow,deny
deny from all
</FilesMatch>
<FilesMatch "(index.php|logout.php)$">
Order allow,deny
allow from all
</FilesMatch>

Any ideas, thoughts, comments, concerns would be much appreciated.

Thank you.

Related posts

Leave a Reply

1 comment

  1. SO after digging deeper and looking into this further I found a fix. Not sure it is the BEST solution but its working.

    Root (/) .htaccess

    #Manager - A customer content manager
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteCond %{REQUEST_URI} ^/manager/(.*)$ [OR]
    RewriteRule ^.*$ - [L]
    </IfModule>
    #end Manager
    
    # BEGIN WordPress
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteRule ^index.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
    </IfModule>
    # END WordPress
    

    This appears to over ride wordpress like needed.

    Manager (/manager) .htaccess

    DirectoryIndex index.php
    <FilesMatch ".(php|inc)$">
    Order allow,deny
    deny from all
    </FilesMatch>
    <FilesMatch "(index.php|logout.php|install.php)$">
    Order allow,deny
    allow from all
    </FilesMatch>
    
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /manager/
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . index.php [L]
    </IfModule>
    

    The top portion isn’t required but I added this for file protection/security.

    Summary:

    I used the %{REQUEST_URI} to selectively remove a sub-folder, to apply this to more sub-folders I would add another

    RewriteCond %{REQUEST_URI} ^/manager/(.*)$ [OR]
    

    I then input the information in the sub-directory’s .htaccess file for url rewriting. From here I can manipulate the URL converting it into a Array list for further sorting and database calling.