- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
В этом случае у вас не будет кода 404, будет 302 (или 301, не помню).
ErrorDocument 404 http://www.site.ru/ - так 302.
ErrorDocument 404 / - так 404, но в адресной строке останется адрес несуществующего документа, а покажется главная страница.
Я делаю так!
при условии, что товара (у меня интернет-магазин) нет уже в базе
header("HTTP/1.1 404 Not Found");
header ("location: http://site.com");
exit();
При этом Яндекс видит все это как 302 редирект (смотрел в ошибках по сайту на webmaster.yandex.ru)
ели так
header("HTTP/1.1 404 Not Found");
exit();
то даже прописаном в аксесе
ErrorDocument 404 /index.php
не перекидает на index.php
я использую такую конструкцию
в .htaccess
ErrorDocument 404 /index.php?status=404
а в скрипте
...
$close_objects_error = array("403", "404");
...
if( empty($status) || in_array($status, $close_objects_error)){
header("HTTP/1.0 404 Not Found");
header("Status: 404 Not Found");
header("HTTP/1.1 301 Moved Permanently");
header("Location: http://$_SERVER[SERVER_NAME]/");
exit();
код отлавливает статус, если ошибка отдает 404 а следом 301 на главную.
при желании можно создать и отдельную страницу под 404, но надо не забыть, что бы в хедере она 404 код отдавала, иначе дубли плодится начинают (летом яндекс 404 не очень как то вычищал вот и поставил 301 - голова теперь не болит :) )
Вместо 404 ставить 301? При этом на главную
Это правильно будет?
Вместо 404 ставить 301? При этом на главную
Это правильно будет?
можно 301 на главную (или куда душа пожелает)
можно создать 404.php где в первых строчка прописать:
а в .htaccess написать тогда
ErrorDocument 404 /404.php
вариантов решения много - зависит лишь от возможностей.
сама конструкция
header("HTTP/1.1 404 Not Found");
header ("location: http://site.com.ua");
exit();
после этого посетитель должен оказатся на site.com.ua?
да, окажется
да, окажется
так точно? или кажется? а то Яндекс видит это как 302 редирект
так вопрос был - перекинет ли юзера на указанный хост - я ответил перекинет
лучше используй
Для 404 ошибки
header("HTTP/1.0 404 Not Found");
header("Status: 404 Not Found");
Для перенаправления
header("HTTP/1.1 301 Moved Permanently");
header("Location: http://$_SERVER[SERVER_NAME]/");