Thursday, May 31, 2012

htaccess redirect with or without www


Developing SEO friendly website, you have to decide the domain name is whether it is with "WWW" or without "WWW". as per your need you can transform the user behavior by redirecting reversal order based on your need. If you decide without WWW mean, while user attempt to type with http://www.example.com you need to redirect http://example.com, If you decide with WWW mean, you need to redirect with www when user typing http://example.com to http://www.example.com

In this case, We have the great option in .htaccess to decide with or without WWW .
Here is the solutions for htaccess redirect with or without www

Examples with mentioning Domain Name

Redirect WWW to non-WWW or without WWW Domain Name:

Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.example\.com [NC]
RewriteRule ^(.*)$ http://example.com/$1 [L,R=301]

Redirect non-WWW to with WWW Domain Name:

Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^example.com [NC]
Rewriterule ^(.*)$ http://www.example.com/$1 [R=301,NC]





Example with Suitable for any Website without mentioning the domain name:
(Suitable for any Website) no need to tell the domain name on code.

Redirect www to non-www (both: http + https)
if we need to do this for separate http and https:

Options +FollowSymLinks
RewriteEngine On

# if without https
RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

# if https
RewriteCond %{HTTPS} on
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]


Redirect non-www to www (both: http + https)
if we need to do this for separate http and https:


Options +FollowSymLinks
RewriteEngine On

# if without https
RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} !^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]

# if https
RewriteCond %{HTTPS} on
RewriteCond %{HTTP_HOST} !^www\.(.*)$ [NC]
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/$1 [R=301,L]




Wednesday, March 28, 2012

Encode PHP files, How to encode php?


PHP Code is our asset of development and concepts. We need to protect / secure our PHP Source code on distribution server. In order to protect PHP source code we need to  encode php files before going to distribute. To encode PHP files to protect PHP source. Here is my solution to protect our PHP Source code with PHP encryption and get Encrypted PHP Source to deploy. In this task we have to use htmlspecialcharsgzdeflatebase64_encodehtml_entity_decodeeval functions



How to encode PHP files and PHP Encoder Online


SourceCode.php   
Put your PHP Source you need to Encode/Protect also include domain based verification code inside this.

<?php
// SAMPLE SOURCE CODE allowed to run only on w3lessons.com
// Start
// PHP Tag in begining and Ending is Must to process encoding...
if(!strstr($_SERVER['HTTP_HOST'],"w3lessons.com"))
die("Unlicenced Domain");
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>How to Encode php files</title>
</head>

<body>
<?php
echo "<h1>Welcome</h1>";
?>
</body>
</html>
<?php
//End
?>

Encoder.php
Run Encoder.php (Output will create a New File EncodeOutput.php

<?php ob_start();

// Put your Source in this file SourceCode.php
$EncodeFileName = "SourceCode.php";
$EncodeCount = intval(rand(5,72)); // Adjust to improve your code security.

// It will cleated automatically after encoding....
copy($EncodeFileName,"EncodeOutput.php");

for($i=0;$i<=$EncodeCount;$i++)
{
 $phpcode = file_get_contents("EncodeOutput.php");
 //remove space
 $phpcode=trim($phpcode);
 //count string
 $count=strlen($phpcode);
 $last=$count-4;
 $rest = substr($phpcode, 2, $last);
 $display= substr($rest, 4);
 $string= htmlspecialchars($display,ENT_NOQUOTES,'UTF-8');
 $phpcode=stripslashes($phpcode);
 $compressed = gzdeflate($string, 5);
 $encode = base64_encode($compressed);

 $phpcode = "&lt;"."&#63;"."php \n";
 $phpcode .= 'eval(html_entity_decode(gzinflate(base64_decode("'.$encode.'")),ENT_NOQUOTES));';
 $phpcode .= "\n".'?'.'>';

 file_put_contents("EncodeOutput.php",html_entity_decode($phpcode,ENT_NOQUOTES));
 usleep(1000);
}

echo "Encoding Completed ! <br /><br />View <a href=\"EncodeOutput.php\">Encoded Output</a>";

?>



EncodeOutput.php
Backup your Original file and replace the encodeoutput.php content instead of Actual PHP Code



<?php 
eval(html_entity_decode(gzinflate(base64_decode("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")),ENT_NOQUOTES));
?>