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:
.htaccess
file 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