With .htaccess file, you can easily configure and redirect Apache Web Server file system.
This post will explain you how to create friendly URLs, sub domain directory re-directions and many more.
Note:
.htaccessfile will be in hidden format, please change your folder and file settings to view this file.
.htaccess file?Open any text editor application and file save as with .htaccess name and
enable mod_rewrite extension in php.ini file in Apache Web Server configurations.
If you want to disable folder files listing, include following code.
1
Options All -Indexes
Here error page is redirecting to error.html.
1
2
3
4
ErrorDocument 400 http://www.yourwebsite.com/error.html
ErrorDocument 401 http://www.yourwebsite.com/error.html
ErrorDocument 404 http://www.yourwebsite.com/error.html
ErrorDocument 500 "Sorry, our script crashed. Oh dear"
RewriteEngine On it is turn on Rewrite Rules in Apache Server. if you want to turn off, just change the value to off.
1
RewriteEngine on
.php extension with URL RewritingFor example if we want to project like Twitter API URLs (Note: Twitter API Developed in Ruby on Rails)
1
2
RewriteEngine on
RewriteRule ^(.*)\$ $1.php
We can Rewrite index.php into index.html,index.asp,index.sri also …
Below code for index.php to index.html
1
2
RewriteEngine on
RewriteRule ^(.*)\.html$ $1.php
If you want .asp extension just replace html to asp
If you type www.yourwebsite.com in browser it will be redirected to yourwebsite.com .
Add this Following Code:
1
2
3
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.yourwebsite.com
RewriteRule (.*) http://yourwebsite.com/$1 [R=301,L]
Conversely, redirecting yourwebsite.com to www.yourwebsite.com
1
2
3
RewriteEngine On
RewriteCond %{HTTP_HOST} ^yourwebsite.com
RewriteRule (.*) http://www.yourwebsite.com/$1 [R=301,L]
Sub domain redirection mapping to folder.
Here www.yourwebsite.com is connecting to website_folder folder.
And subdomain.yourwebsite.com is connecting to subdomain_folder folder.
1
2
3
4
5
6
7
8
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.yourwebsite\.com$
RewriteCond %{REQUEST_URI} !^/website_folder/
RewriteRule (.*) /website_folder/$1
RewriteCond %{HTTP_HOST} ^subdomain\.yourwebsite\.com$
RewriteCond %{REQUEST_URI} !^/subdomain_folder/
RewriteRule (.*) /subdomain_folder/$1
Original URL : yourwebsite.com/followers.php?id=abc123
to
Rewriting URL : yourwebsite.com/abc123/followers
1
2
3
RewriteEngine On
RewriteRule ^([a-zA-Z0-9_-]+)/followers$ followers.php?id=$1
RewriteRule ^([a-zA-Z0-9_-]+)/followers/$ following.php?id=$1
Original URL : www.yourwebsite.com/blog/index.php?id=abc123
to
Friendly URL : blog.yourwebsite.com/abc123
First .htaccess file
This code redirects sub domain blog.yourwebsite.com pointing to blog folder.
1
2
3
4
RewriteEngine On
RewriteCond %{HTTP_HOST} ^blog\.yourwebsite\.com$
RewriteCond %{REQUEST_URI} !^/blog/
RewriteRule (.*) /blog/$1
Second .htaccess file
This file inside the blog folder. Contains single parameter URL rewriting code.
1
2
3
4
5
RewriteEngine On
RewriteBase /blog/
RewriteEngine On
RewriteRule ^([a-zA-Z0-9_-]+)$ index.php?id=$1
RewriteRule ^([a-zA-Z0-9_-]+)/$ index.php?id=$1
Comments