#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.