Я исправляю исходный код другого программиста и нашел различные способы сделать перенаправления с помощью функции заголовка.К сожалению, я не знаю, почему он использовал другой синтаксис и не может найти правильный ответ для них.Я создал функцию для перенаправления, используя два разных способа, но так как я не знаю, какой из них правильный, мне нужна помощь, чтобы понять разницу:
function redirectError($code,$url=''){
switch($code){
case '404':
case 404:
header('HTTP/1.1 404 Not Found');
header('Location: /club-rencontre-libertin/Erreurs/404.php', 404);
exit;
break;
case '301':
case 301:
header('Status: 301 Moved Permanently', false, 301);
header('Location: '.$url, 301);
exit;
/*
header('HTTP/1.1 301 Moved Permanently');
header('Location: '.$newURL,301);
*/
break;
}
}
Иногда перенаправлению предшествуетзаголовок HTTP / 1.1, иногда по Status: а иногда перенаправление выполняется в одну строку (header('Location: ...')
), без предыдущего заголовка.
Что такое «правильный» путь или, по крайней мере, в чем различиямежду ними?
Спасибо за ваши ответы.