Prepend www to URL using PHP

I have a WordPress blog hosted on IIS and I've been trying to get ISAPI_Rewrite to work so that I can prepend www to the URL. It isn't working after 3 hours, so I just want to use PHP redirect to get it working. I've done it before with ASP (which I've included) but I don't know PHP well enough to translate this code. Can you do it?
<%
If InStr(Request.ServerVariables("SERVER_NAME"),"www") = 0 Then
	Response.Status="301 Moved Permanently"
	Response.AddHeader "Location","http://www."
		& Request.ServerVariables("HTTP_HOST")
		& Request.ServerVariables("REQUEST_URI")
	Response.End
End if
%>

Open in new window

drbill1Asked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

xBelloxCommented:
something like this:

<?
if (strpos($_SERVER['SERVER_NAME'], "www")===false)
    header("Status: 301")
    header("Location: http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']");
}
?>

Open in new window

0
xBelloxCommented:
I forgotthe ;  at the end of header("Status: 301") and "exit;" in place of  "Response.End"

... The correct should be:

<?
if (strpos($_SERVER['SERVER_NAME'], "www")===false)
    header("Status: 301");
    header("Location: http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']");
    exit;
}
?>
 
or 
 
<?
if (strpos($_SERVER['SERVER_NAME'], "www")===false)
    header("HTTP/1.1 301 Moved Permanently");
    header("Location: http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']");
    exit;
}
?>

Open in new window

0
xBelloxCommented:
Oops, I did it again.. A little typo at the end of line ...($_SERVER['REQUEST_URI']") that  double quote doesn't exists.

I really think we should be able to delete ours comments.

Anyway, here is the correct code (hopefully :))

<?
if (strpos($_SERVER['SERVER_NAME'], "www")===false)
    header("Status: 301");
    header("Location: http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']);
    exit;
}
?>
 
or 
 
<?
if (strpos($_SERVER['SERVER_NAME'], "www")===false)
    header("HTTP/1.1 301 Moved Permanently");
    header("Location: http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']);
    exit;
}
?>

Open in new window

0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
Fundamentals of JavaScript

Learn the fundamentals of the popular programming language JavaScript so that you can explore the realm of web development.

Chad SmithSoftware EngineerCommented:
you have forgotten the open bracket { and the www in your  Location:
<?
if(strpos($_SERVER['SERVER_NAME'], "www") === false) 
{
	header("HTTP/1.1 301 Moved Permanently");
	header("Location: http://www." . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']);
	exit;
}
?>

Open in new window

0
xBelloxCommented:
Yeah, 3 little typos in just one question... Might be the record :P

Thanks for the help :)
0
drbill1Author Commented:
Worked perfect with the corrected typos, thanks!
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
PHP

From novice to tech pro — start learning today.