Skip to main content

Beginner guide to htaccess - Setup seo friendly url for your website

Here in this tutorial we’ll learn about .htaccess properties and how to setup .htaccess file in our project for custom error pages handling and create seo friendly url.

First of all we need to know what is “.htaccess” ?
htaccess is short for Hypertext Access, and is a configuration file used by Apache based web servers, When a .htaccess file is placed in a directory which is in turn ‘loaded via the Apache Web Server’, then the .htaccess file is detected and executed by the Apache Web Server software.


Create filename “.htaccess” and save it to your project root directory.

Note: Before executing this file please make sure that you have successfully enabled mod_rewrite extension in php.ini file

Example-1:
Create your awkward shaped urls into seo friendly urls using .htaccess
Suppose you have these 3 types of urls in your project.



http://www.example.com/profile.php?uid=12345
http://www.example.com/profile.php?username=rohit
http://www.example.com/search.php?q=delhi


Need to convert into seo friendly url like

http://www.example.com/profile/12345
http://www.example.com/profile/rohit
http://www.example.com/search/delhi


.htaccess

Options +FollowSymLinks
RewriteEngine On 
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f
 
RewriteRule ^profile/([0-9]+)$ ./profile.php?uid=$1
RewriteRule ^profile/([a-zA-Z0-9_-]+)$ ./profile.php?username=$1
RewriteRule ^search/([a-zA-Z0-9_-]+)$ ./search.php?q=$1

Example-2
Handle two and three parameters


http://www.example.com/profile.php?username=rohit&page=about
http://www.example.com/search.php?q=delhi&page=1&total=100



Need to convert into seo friendly url like
http://www.example.com/profile/rohit/about
http://www.example.com/search/delhi/1/100

For doing this your .htaccess file will be

.htaccess

Options +FollowSymLinks
RewriteEngine On 
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f
 
RewriteRule ^profile/([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)$ profile.php?username=$1&page=$2
RewriteRule ^search/([a-zA-Z0-9_-]+)/([0-9]+)/([0-9]+)$ profile.php?q=$1&page=$2&total=$3

This is the just basic and quick understanding tutorial of Htaccess, Uou can learn more from http://www.htaccess-guide.com/

Comments