I'm pretty sure this isn't possible and I need to set headers on login.php if $_GET['reason'] isset but can someone clarify that I can't set response code then change location?
header('HTTP/1.1 403 Forbidden');
header("Location: http://domain.com/login.php?reason=ipbanned");