Расположение заголовка PHP не работает в некоторых случаях

#php #redirect #header #centos7

#php #перенаправление #заголовок #centos7

Вопрос:

У меня странная проблема с заголовком функции PHP (‘location: anylink’); и это не проблема с кодированием, поскольку точно такой же скрипт (мой скрипт) отлично работает в других установках. Проверил его по крайней мере на 10 других веб-сайтах моих клиентов с разными конфигурациями серверов и работает нормально.

Пример: в моем коде есть проверка, существует ли идентификатор статьи в базе данных. Если не существует, оно перенаправляет на домашнюю страницу. Если существует, отображается страница статьи.

Некоторые тесты, в которых идентификатор статьи не существует и (правильно) перенаправляет на домашнюю страницу блога:

https://www.hostbignet.com/blog.php?do=articleamp;id=400

https://oraclewebhost.org/blog.php?do=articleamp;id=400

и вот ссылка на моем сайте. Как вы можете видеть, он продолжает выполнение кода и показывает страницу, конечно, с пустыми данными.

https://www.whmup.com/blog.php?do=articleamp;id=400

Перепробовал по крайней мере дюжину предложений, которые я нашел здесь в подобных вопросах, но ничего не изменилось. Я использовал ob_start, я написал Location вместо location, я оставил пробел перед URL, я добавил exit и exit() под перенаправлением. Ничто не решило проблему.

Мой код (я пробовал даже с добавлением доменного имени раньше):

 // Redirect Back
header('location:blog.php');
 

Кроме того. Я даже пробовал с window.Расположение.href и window.местоположение.снова ничего не замените.

Мой сервер — CentOS 7 с CWP Pro.

Спасибо, Крис

Комментарии:

1. header('location:'blog.php'); имеет основную ошибку с кавычками.

2. Конфигурация моего сайта: Apache: Apache / 2.4.39 PHP: 7.4.13 MySQL: 10.2.36-MariaDB также отключил защиту модов

3. @Найджел Рен Ты имеешь в виду двойные кавычки? Это был оригинал. Одинарные кавычки впоследствии изменились, как еще одна попытка найти проблему.

4. Для чего там цитата в середине?

5. Ладно, понял тебя. Вы имеете в виду одинарную кавычку перед blog.php . Его там нет. Это была ошибка с копированием / вставкой здесь. Я оставил его по ошибке, когда удалил переменную, которая у меня там была $CFG[«siteurl»] ‘ ./blog.php ‘

Ответ №1:

Я смог исправить эту проблему, сохранив файл как ANSI. Любая другая кодировка, которую я пробовал, действительно работает.

Комментарии:

1. @Nikel Ren Спасибо за ваши усилия, чтобы помочь мне. Действительно ценится. Наконец, я нашел php.ini на сайте, и когда я его удалил, все начало работать нормально. Я забыл его там, когда тестировал некоторые изменения в настройках php.