views:

341

answers:

1

I have a Joomla installation with search-friendly-urls at the root level of the domain, but my host is giving me access to my website stats (which requires authentication) in domain.com/stats, and I cannot see it, just a Joomla generated 404 error.

I thought this might be due to the .htaccess so I tried adding this line to the top:

RewriteRule ^(/stats) - [L]

but I still get the 404. This is what the rest of the .htaccess: looks like

##  Can be commented out if causes errors, see notes above.
Options +FollowSymLinks

#
#  mod_rewrite in use

RewriteEngine On

########## Begin - Rewrite rules to block out some common exploits
## If you experience problems on your site block out the operations listed below
## This attempts to block the most common type of exploit `attempts` to Joomla!
#
# Block out any script trying to set a mosConfig value through the URL
RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|\%3D) [OR]
# Block out any script trying to base64_encode crap to send via URL
RewriteCond %{QUERY_STRING} base64_encode.*\(.*\) [OR]
# Block out any script that includes a <script> tag in URL
RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR]
# Block out any script trying to set a PHP GLOBALS variable via URL
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
# Block out any script trying to modify a _REQUEST variable via URL
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
# Send all blocked request to homepage with 403 Forbidden error!
RewriteCond %{REQUEST_URI} !^/stats
RewriteRule ^(.*)$ index.php [F,L]
#
########## End - Rewrite rules to block out some common exploits

#  Uncomment following line if your webserver's URL
#  is not directly related to physical file paths.
#  Update Your Joomla! Directory (just / for root)

# RewriteBase /


########## Begin - Joomla! core SEF Section
#
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/index.php
RewriteCond %{REQUEST_URI} (/|\.php|\.html|\.htm|\.feed|\.pdf|\.raw|/[^.]*)$  [NC]
RewriteRule (.*) index.php
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]
#
########## End - Joomla! core SEF Section
+1  A: 

EDIT: does any of these (directly after RewriteEngine On) help?:

RewriteCond %{REQUEST_URI} ^/stats/.* [NC]
RewriteRule .* - [L]

or

RewriteCond %{ENV:REDIRECT_STATUS} 200 RewriteRule .* - [L]

also, try enabling the

RewriteBase /

if it still doesn't work, and if you are able to change to server / virtual host config, try logging the rewrite process.

EDIT END

try adding a

RewriteCond %{REQUEST_URI} !^/stats

before the

RewriteRule ^(.*)$ index.php [F,L]
ax
Unfortunately that doesn't seem to have had any effect. I have updated the question to show what it looks like now though
Colin Pickard
Bingo! Thank you very much. The answer was to enable "Rewrite Base /".
Colin Pickard