Заголовок PHP не работает – Страница отображается как обычно

Я пытаюсь предотвратить прямой доступ к следующему файлу (и разрешать доступ только тем, кто отправил форму), но когда я перехожу прямо к этому файлу, вместо 404 я вижу файл правильно. Может кто-то сказать, что не так с этим кодом?

<?php if ($_SERVER['REQUEST_METHOD'] !== 'POST') { header("HTTP/1.0 404 Not Found"); } else { if(isset($_POST['a'])){ switch ($_POST['a']){ case "1": $var = "hey"; break; case "2": $var = "now"; break; default: $var = "other"; } } } ?> <!doctype html> <html> <head> <title>test</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> </head> <body> something </body> </html>