Wednesday, November 20, 2013

Htaccess File Tutorial and Tips

Htaccess File Tutorial and Tips.

Understanding Htaccess Redirect

Note: .htaccess file will be in hidden format, please change your folder and file settings to view this file. 

How to Create a .htaccess File?
Open any text editor application and file save as with .htaccess name and enablemod_rewrite extension in php.ini file in Apache Web Server configurations. 

Default directory Listing
Enable directory Listing using htaccess

Disable directory Listing
If you want to disable folder files listing, include following code. 
# Disable Directory Browsing
Options All -Indexes
Disable directory Listing using htaccess

Error Pages
Here error page is redirecting to error.html
errorDocument 400
errorDocument 401
errorDocument 404
errorDocument 500

htaccess 404 error disply

RewriteEngine On it is turn on Rewrite Rules in Apache Server. if you want to turn off, just change the value to off.
RewriteEngine on

Domain Redirection
.htacces code for redirecting to
RewriteCond %{HTTP_HOST} ^
RewriteRule (.*)$1 [R=301,L]

Sub Domain Redirection
Sub domain redirection mapping to folder. Here is connecting to website_folder folder. 
RewriteCond %{HTTP_HOST} ^www\.yourwebsite\.com$
RewriteCond %{REQUEST_URI} !^/website_folder/
RewriteRule (.*) /website_folder/$1

Here is connecting to subdomain_folderfolder. 
RewriteCond %{HTTP_HOST} ^subdomain\.yourwebsite\.com$
RewriteCond %{REQUEST_URI} !^/subdomain_folder/
RewriteRule (.*) /subdomain_folder/$1

Htaccess File Inside The Folder.

Old Domain Redirection
htaccess code for redirecting old domain( to new domain( Live demo is now redirecting to
RewriteCond %{HTTP_HOST} ^
RewriteRule (.*)$1 [R=301,L]

RewriteCond %{HTTP_HOST} ^www\.abc\.com
RewriteRule (.*)$1 [R=301,L]

Friendly URLs
Friendly/Pretty URLs help in search engine rankings.

Profile URL 
Profile parameter allows [a-zA-Z0-9_-] these inputs. More help read Understanding Regular Expression

RewriteRule ^([a-zA-Z0-9_-]+)$ profile.php?username=$1
RewriteRule ^([a-zA-Z0-9_-]+)/$ profile.php?username=$1

Messages URL

RewriteRule ^messages/([a-zA-Z0-9_-]+)$ messages.php?message_username=$1
RewriteRule ^messages/([a-zA-Z0-9_-]+)/$ messages.php?message_username=$1

Friends URL
RewriteRule ^friends/([a-zA-Z0-9_-]+)$ friends.php?username=$1
RewriteRule ^friends/([a-zA-Z0-9_-]+)/$ friends.php?username=$1

Friends URL with Two Parameters 
Here the first parameter allows [a-zA-Z0-9_-] and second parameter allows only number [0-9]

RewriteRule ^friends/([a-zA-Z0-9_-]+)/([0-9]+)$ friends.php?username=$1&page=$2
RewriteRule ^friends/([a-zA-Z0-9_-]+)/([0-9]+)/$ friends.php?username=$1&page=$2

Hiding File Extension
RewriteRule ^([^/.]+)/?$ $1.html