- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
VK приобрела 70% в структуре компании-разработчика red_mad_robot
Которая участвовала в создании RuStore
Оксана Мамчуева
Маркетинг для шоколадной фабрики. На 34% выше средний чек
Через устранение узких мест
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Есть php-скрипт, который до отсылки HTTP-заголовков в зависимости от входных параметров решает что отдавать: контент или 404-ю ошибку. Сейчас в случае 404й сделано тупо:
Т.е. честно отдается 404й код на абсолютно пустой странице. Проблема в том, что хочется юзабилити, т.е. как-то переслать посетителя на специально заготовленную /404.htm, отдав при этом HTTP 404. Как это сделать?
Пробовал
в этом случае скрипт все равно отдает 302 ответ.
header("Location: /404.php");
а уже в ней:
header("HTTP/1.0 404 Not Found");
exit;
как-то через ж...
сначала 302, а потом 404
ну так сделайте
else {
header("HTTP/1.0 404 Not Found");
..вывод контента 404 страницы... да хотя бы статикой.
exit;
}
Не получается.
header("Location: /404.php"); вернет сразу 302й код, а нужен 404й.
как-то через ж...
сначала 302, а потом 404
ну так сделайте
else {
header("HTTP/1.0 404 Not Found");
..вывод контента 404 страницы... да хотя бы статикой.
exit;
}
И ч0?
Кстати, вы уже знаете структуру CMS ТС, чтобы советовать ваш вариант? Не думали, что это будет по средине сайта? 🤪
---------- Добавлено 11.10.2012 в 16:06 ----------
Не получается.
header("Location: /404.php"); вернет сразу 302й код, а нужен 404й.
Он сначала вернётся 302 это млин, обычный редирект, а потом бот или браузер получит 404.
Всё это нормально работает. Делаю во всех сайтах, никаких проблем нету.
Chukcha, на 404.php сложный скрипт, не хочется его дублировать.
Неужели нет варианта кроме
else {
header("HTTP/1.0 404 Not Found");
include("404.php");
exit;
}
?
Chukcha, на 404.php сложный скрипт, не хочется его дублировать.
Неужели нет варианта кроме
else {
header("HTTP/1.0 404 Not Found");
include("404.php");
exit;
}
?
Есть, переделать структуру сайта, чтобы заголовок формировался ДО отдачи контента.
Об этом забудьте, конструкция неправильная.
Попробуйте в связке с ErrorDocument 404 /404.html
Chukcha, на 404.php сложный скрипт, не хочется его дублировать.
а зачем его дублировать? в варианте с include он ведь не дублируется?..
Есть, переделать структуру сайта, чтобы заголовок формировался ДО отдачи контента.
Вообще, судя по первому посту так и есть..
p.s. в таких случаях ещё можно ob_start() + ob_end_clean() использовать
А что плохого в 302 или 301, а потом 404?
А что плохого в 302 или 301, а потом 404?
В том, что это не по фейн-шую и всё.