Try the following, which also forces on error reporting:
error_reporting(E_ALL | E_WARNING | E_NOTICE);
ini_set('display_errors', TRUE);
flush();
header("Location: http://www.website.com/");
die('should have redirected by now');
From PHP header redirect not working
Edit:
Since it's giving you the headers already sent
warning, try adding the following at the very beginning of your code:
ob_start();
The long term answer is that all output from your PHP scripts should
be buffered in variables. This includes headers and body output. Then
at the end of your scripts do any output you need.
The very quick fix for your problem will be to add ob_start(); as the
very first thing in your script if you only need it in this one
script. If you need it in all your scripts add it as the very first
thing in your header.php file.
This turns on PHP's output buffering feature. In PHP when you output
something (do an echo or print) if has to send the HTTP headers at
that time. If you turn on output buffering you can output in the
script but PHP doesn't have to send the headers until the buffer is
flushed. If you turn it on and don't turn it off PHP will
automatically flush everything in the buffer after the script finishes
running. There really is no harm in just turning it on in almost all
cases and could give you a small performance increase under some
configurations...
From Warning: Cannot modify header information - headers already sent..