This guide is manly written to work with one.com hosted Joomla installations. However it's most likely that it will work on almost any web hosting service. Using SEF links (Search engine friendly) with Joomla is a really neat feature. The basic idea is to create human readable address links. So, instead of having your links looking like this
http://www.yoursite.com/index.php?option=com_content&view=article&id=4&Itemid=8
They could look like this
http://www.yoursite.com/products/ncb
Setting up the .htaccess
First, create a file called htaccess.txt, or use the one shipped with Joomla. Paste the following code into the file.
#The line below must(!) be commented out on one.com #It may not be required if you use another web hosting service #Options +FollowSymLinks RewriteEngine On RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|\%3D) [OR] RewriteCond %{QUERY_STRING} base64_encode.*\(.*\) [OR] RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR] RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR] RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2}) RewriteRule ^(.*)$ index.php [F,L] RewriteBase / 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]
Now, upload it to your web root (the same place where you keep your website) and rename the htaccess.txt to .htaccess
Setting up Joomla
Use the admin panel. Navigate to the Global Configuration ยป Site.
Make your SEO Settings look like this
Thats it!