- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Как удалить плохие SEO-ссылки и очистить ссылочную массу сайта
Применяем отклонение ссылок
Сервис Rookee
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
bool(true)
---------- Добавлено 14.09.2013 в 16:57 ----------
Была у меня такая проблема.
На одном хостинге работало, на другом нет. Сайт - мой самопис. Передаю заголовки:
Ошибка была точно такая же, как и у Вас.
Убрал:
Все заработало. Не было времени разбираться, в чем собственно была проблема этого заголовка. Посмотрите, как формируется 404 у Вас.
Пробовал по-всякому уже:
и вот так
header("Cache-Control: no-cache, no-store");
header("Content-Type: text/html; charset=utf-8");
header($_SERVER['SERVER_PROTOCOL']." 404 Not Found"); //include("error404.php");
exit();
и вот так
header("HTTP/1.1 404 Not Found");
header("HTTP/1.0 404 Not Found");
header("Status: 404 Not Found");
exit();
die();
Sinsir, заголовки уже были отправлены. Скорее всего, выключен вывод WARNING. 0. Включите показ всех ошибок, для этого поместите в самое начало индексного файла следующий код.
1. Вы используете кодировку UTF-8. Возможно, это связано с тем, что файлы шаблона / HTML закодированы с помощью UTF BOM. Попробуйте перекодировать файлы шаблона в UTF без BOM либо 2. включите буферизацию вывода (ob_start()). 3. Попробуйте поиск функцию принудительной отправки заголовков через поиск в блокноте.
Если ничего не помогло, поместите следующий код в начало индексного файла.
rerighter, заголовки вообще не передаются, потому что отправлены раньше. Status писать не нужно.
ortegas
Все попробовал - ничего не дало 😕
На странице выводится только bool(true)
В коде страницы видно несколько пробелов перед этой надписью. Может как-то с этим связано?
Sinsir, посмотрите файл .htaccess возможно в нем, правило, вместо показа при ошибке страницы 404, тупо редирект 301 на какую-то другую.
easywind, какой htaccess? Заголовки отправлены до изменения статус кода, следовательно, 404 вообще не применяется.
Sinsir, не все, либо все что вы сумели. Обратитесь к специалисту $. Смысл давать советы, если вы их не выполняете.
Пробовал вообще удалять htaccess ничего в этом плане не изменилось.
Все-таки где-то раньше выводится. Перед проверкой на несуществующую страницу подключается файл с функциями. Возможно что там какая-то функция меняет заголовок, но конкретно слова header в нем нету
---------- Добавлено 14.09.2013 в 18:08 ----------
ortegas,
Выполнил все, кроме функции ob_start(). Я с ней ранее не сталкивался и сейчас читаю мануал по ней чтоб применить
Sinsir, заголовки посылаются перед отдачи клиенту любых данных, которые не являются заголовками. Это может касаться и BOM бита, и пробелов, которые установлены вне контейнера <?php ?>. Если не используется пребуферизация, и до посылки заголовков подключается файл, который закодирован, как UTF-8 с BOM, дальнейшие заголовки посланы не будут.
Приведите содержание файла config.php.
По поводу конфига. Может Вы там чего не настроили до конца, когда с локалки переносили? Было бы также интересно посмотреть.
В файле конфиг всего 15 строк, где 15 строка это закрывающий тэг php "?>"
Предпоследняя строка подключает базу функций "include_once("func.php");"
Остальное список паролей к базе и настройка соединения с базой.
Все подключаемые файлы преобразовал в utf-8 без BOM
Может я не там вызываю header?
Структура движка такая:
index.php содержит одну строку "include(main.php)"
Далее main.php проверяет в базе наличие даной страницы. если есть - то загружаем данные, если нету - то отсылаем на файл include(error404.php) где и пытаемся вызвать header 404. Но он говорит что header уже был вызван.
Sinsir, значит после ?> есть что-то, что и отправляется до заголовков. Включите показ специальных символов в Notepad++. Возможно это \n, \f или \0.