Nathan Ridley Nathan Ridley - 1 month ago 19
PHP Question

PHP on IIS7 - Receiving "Object Moved" html page instead of actually redirecting

I'm learning PHP on my computer with IIS7.5 as the web server and am having a problem completing a 301 redirect correctly.

The tutorials and forums all say to use the following:

Header('Location: ' . $url, true, 301);


Header('Location: ' . $url);

In both cases, instead of actually redirecting, the browser (Chrome and Firefox) display this:

Object Moved

This document may be found here

Using the FireFox web developer toolbar, I retrieved the page headers, which were:

Content-Type: text/html; charset=UTF-8
Server: Microsoft-IIS/7.5
X-Powered-By: PHP/5.3.5, ASP.NET
Date: Mon, 21 Mar 2011 18:47:35 GMT
Content-Length: 123

301 Moved Permanently

Why is the page not redirecting? Displaying that page is kind of redundant and annoying for users.


I figured it out. The Location header must be an absolute path to auto-redirect. If it's a relative path it doesn't redirect.