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.
Here i am going to you aware about the .htaccess power and why it is important for you php based project using this file you can easily redirect normal apache server file system in custom urls which is most useful for seo purpose.
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.
Time to setup .htaccess file.
Create filename “.htaccess” and save it to your project root directory.
Note: By default this file in hidden format please change your system settings and display hidden files to view it.
Note: Before executing this file please make sure that you have successfully enabled mod_rewrite extension in php.ini file
Task-1:- We have to handle error page request by .htaccess like if someone requesting for 404,500 type of request/errors.
These are some of the most common errors:
401 – Authorization Required
400 – Bad request
403 – Forbidden
500 – Internal Server Error
404 – Wrong page
To handle these request/errors follow below code.
# Error pages handling errorDocument 401 http://www.youwebsite.com/error_401.html errorDocument 400 http://www.youwebsite.com/error_400.html errorDocument 403 http://www.youwebsite.com/error_403.html errorDocument 500 http://www.youwebsite.com/error_500.html errorDocument 404 http://www.youwebsite.com/error_404.html |
Each time if someone request for wrong page(404) he will be automatically redirected to error_404.html page, You can customize these pages as per you need.
If you want to disable whole directory then put below code in your .htaccess file
# Disable directory browsing, Nobody directly browse your directory. Options All -Indexes |
Task-2:- 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
Create .htaccess file and write below command.
.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 |
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 you can study more features of htaccess like password protected directory, speed up website load time many more from here http://www.htaccess-guide.com/
If you like this post, Please don’t forget to subscribe My Public Notebook for more useful stuff.