On Thu, Dec 8, 2016 at 10:40 AM, Christoph M. Becker <cmbecker69@xxxxxx> wrote: > On 08.12.2016 at 17:30, Tedd Sperling wrote: > > > Hi gang: > > > > For several years I have had an example of a redirect working on my > college’s Server for my students to review. > > > > The code is simple: > > > > header ("Location:$where"); > > exit(0); > > > > The $where is URL’s such as “amazon.com” coming from a POST: > > > > $where = isset($_POST['where']) ? $_POST['where'] : null; > > > > Like I said, this has worked for years and now it doesn’t. > > > > I suspect something has changed in the school’s Server, but I don’t know > what that may be. > > > > Any ideas as to why and how to fix it? > > Have you checked that no output has been generated before these lines > are executed? Even a single space could stop the headers from being > sent. I suggest you enable error_reporting, and check the respective > log file; there you might find something like "Cannot send headers. > Headers already sent". > > If having passed that check, have you verified the header isn't returned? If it is, the browser may not be respecting it, because according to the specification[1] "The field value consists of a single absolute URI", and the string "amazon.com" does not validate as an absolute URI according to the specs for that[2] which states "absoluteURI = scheme ":" *( uchar | reserved )". [1] - https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.30 [2] - https://www.w3.org/Protocols/HTTP/1.0/spec.html#URI > -- > Christoph M. Becker > > > > > > -- > PHP General Mailing List (http://www.php.net/) > To unsubscribe, visit: http://www.php.net/unsub.php > >