Joomla Tutorials and Blog Posts

My Joomla htaccess File is Blank or Misconfigured

January 3, 2011 | Written by Nick Savov

Recently about 5-10% of our Joomla questions on the forum have in some manner been related to the infamous htaccess file. This tutorial will give you a sample of what a typical Joomla htaccess should look like in case yours is blank or badly misconfigured. Please understand that not all htaccess files will look like this, although this is the norm for most cases.

Please note that any line that begins with # is commented out and therefore will not be executed by the server.

Typical Joomla htaccess file

# @version $Id: htaccess.txt 10492 2008-07-02 06:38:28Z ircmaxell $
# @package Joomla
# @copyright Copyright (C) 2005 - 2008 Open Source Matters. All rights reserved.
# @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
# Joomla! is Free Software
##

#####################################################
# READ THIS COMPLETELY IF YOU CHOOSE TO USE THIS FILE
#
# The line just below this section: 'Options +FollowSymLinks' may cause problems
# with some server configurations. It is required for use of mod_rewrite, but may already
# be set by your server administrator in a way that disallows changing it in
# your .htaccess file. If using it causes your server to error out, comment it out (add # to
# beginning of line), reload your site in your browser and test your sef url's. If they work,
# it has been set by your server administrator and you do not need it set here.
#
#####################################################

## 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 tag in URL
RewriteCond %{QUERY_STRING} (\|%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!
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

Configuring the htaccess File for SEF URLs in Joomla

Please visit this tutorial: The Ultimate Joomla SEF URL Guide


 

Comments  

 
#1 chito 2011-11-10 05:32
Hi, i'm installing Joomla 1.7.3 with Xampp 1.7.7 and got the following messages:
Strict Standards: Accessing static property JCache::$_handl er as non static in C:\xampp\htdocs \joomlatest\lib raries\joomla\c ache\cache.php on line 422

Strict Standards: Accessing static property JCache::$_handl er as non static in C:\xampp\htdocs \joomlatest\lib raries\joomla\c ache\cache.php on line 420

I am newbie to Joomla, please help...
 
 
#2 chito 2011-11-10 05:41
by the way, many thanks... i found the answer in your other forum... i only misinterpreted the solutions given... many thanks to your Joomla
team
 
 
#3 iowawebco 2011-11-10 13:50
Hi chito,

Go to your php.ini of xampp and change error reporting to E_ALL & ~E_NOTICE and display errors to Off. Here is how they should look once you're done:

Quote:
error_reporting = E_ALL & ~E_NOTICE

display_errors = Off


Kind regards,
Nick
 
 
#4 iowawebco 2011-11-10 13:51
Hi chito,

Great! I'm glad you got it sorted! :)

You should consider becoming a student at OSTraining so that you can learn more about Joomla and learn it quicker. Here is the find out more page: www.ostraining.com/online

Kind regards,
Nick
 

Add comment