Htaccess debugging - change LogLevel


#1

I’m having issues with my .htaccess file and I’d like to change the LogLevel to look in more in depth in what the server is actually trying to do. Is there anyway that this can be accomplished?

Background:

I have a multiple-domain custom CMS platform. There are shared files (for assets like css and images), files for one domain, and files for the other. I have both domains setup to direct to the same public_html folder. Inside this folder there are the 3 folders (one, two, and shared) and the index.php CMS file. All requests must be processed by the .htaccess file (besides “.com/” requests that will go to the index.php automatically). If the requested file exists in the associated domain or shared folder that file should be returned, else it is sent to the CMS to be processed.

I am having issues with multiple redirects, redirect loops, and queries appearing to the user (“http://dev.exampleone.com/one/?request=one”). These issues only happen when the user uses a request that is also a folder name.

Here is what my htaccess currently looks like:

AddDefaultCharset UTF-8

# Disallow browsing file directories
Options -Indexes +FollowSymLinks

RewriteEngine on
RewriteBase /

#remove the trailing slash
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} (.*)/$
RewriteRule ^(.+)/$ /$1

RewriteCond %{ENV:REDIRECT_STATUS} 200
RewriteRule . - [S=5]						# skip next 4 rules on internal subrequests

# check the example one folder for request
RewriteCond %{HTTP_HOST} exampleone.com$
RewriteCond %{DOCUMENT_ROOT}/one/%{REQUEST_URI} -f
RewriteRule ^(.*)$ /one/$1 [L]

# check the example two folder for request
RewriteCond %{HTTP_HOST} exampletwo.com$
RewriteCond %{DOCUMENT_ROOT}/two/%{REQUEST_URI} -f
RewriteRule ^(.*)$ /two/$1 [L]

# check the example shared folder for request
RewriteCond %{DOCUMENT_ROOT}/shared/%{REQUEST_URI} -f
RewriteRule ^(.*)$ /shared/$1 [L]

# else send to CMS
RewriteRule ^(.*)$ /index.php?request=$1 [L]