Как искусственно вызвать ошибку 404 посредством .htaccess?
Добрый день. Сразу к проблеме.. 1. Нужно вызвать 404 Not Found к любому несуществующему php файлу (сайт.ру/folder/example.php или сайт.ру/example.php) с помощью .htaccess. Редиректы и т.п. не пойдут. 2. А ещё бы хотелось принудительно вызвать ошибку 404 к существующим php файлам, но так, что бы они корректно работали.
ErrorDocument 404 /404.php
header("HTTP/1.1 404 Not Found");
header("Status: 404 Not Found");
также не пойдет, т.к. эти строки не работают. P.S. уже 2 часа гуглю, не могу найти. Устал. Кто может поможет?
- RewriteRule в .htaccess на php файл
- Как передать аккаунт Adsense другому человеку
- Есть смысл чтобы сайт (ИМ) работал на PHP 8.1 сейчас PHP 7.1?
На сайте с 02.04.2009
23 июня 2013, 11:42
parlament-omsk:
1. Нужно вызвать 404 Not Found к любому несуществующему php файлу (сайт.ру/folder/example.php или сайт.ру/example.php) с помощью .htaccess.
parlament-omsk:
2. А ещё бы хотелось принудительно вызвать ошибку 404 к существующим php файлам, но так, что бы они корректно работали.
header(» 404 Not Found»); отлично работает.
Как в WordPress вызвать 404-ю ошибку, если в url’е отстутсвует параметр?
Еще понадобилась проверка не только на пустой параметр, но и если id задан, но автора с таким id нет. Как такое дополнить?
Immortal_pony @Immortal_pony Куратор тега PHP
add_action("template_redirect", function() < if ($_SERVER['REQUEST_URI'] === "/book/author/") < $authorId = array_key_exists("id", $_GET) ? (int)$_GET['id'] : null; $author = !is_null($authorId) ? get_user_by("id", $authorId) : null; if (empty($author)) < global $wp_query; $wp_query->set_404(); status_header(404); get_template_part(404); die(); > > >);
lasthero67 @lasthero67 Автор вопроса
Immortal_pony, если адрес страницы /book/author/?id=41, то условие if ($_SERVER[‘REQUEST_URI’] === «/book/author/») не выполняется.
Immortal_pony @Immortal_pony Куратор тега PHP
lasthero67, действительно. Вот так можете сделать
$currentUrl = trailingslashit(strtok($_SERVER['REQUEST_URI'], "?")); if ($currentUrl === "/book/author/")
Как сделать страницу ошибки 404?
Страница 404 — это автоматическая страница, которая открывается, если запрашиваемый сайт невозможно найти. Обычно такая ошибка возникает, когда человек вводит некорректный адрес сайта или переходит по несуществующей ссылке (например, вы удалили старую ссылку, а в поисковой индексации она осталась, и человек перешел).
Чтобы создать страницу 404 ошибки, добавьте новую страницу в вашем сайте, оформите её, потом перейдите в «Настройки сайта» → «Еще» → «Страница 404» и выберите нужную страницу из списка, сохраните, а затем переопубликуйте все страницы.
Примите во внимание: назначенная страница будет автоматически запрещена для индексирования.
Похожие вопросы
- Поисковики не видят мой сайт, что делать?
- Как добавить robots.txt и sitemap.xml
- Как добавить (назначить) тег H1?
- Как добавить ключевые слова для сайта?
- Как запретить индексировать страницу поисковикам?
Поиск 404 ошибок на сайте
Довольно широко распространена ситуация, когда мы, пользователи, натыкаемся на несуществующие страницы с кодом ответа 404 Not Found. Такие страницы есть на любом сайте, достаточно лишь вбить в адресную строку URL с ошибкой. Но вот проблема — наличие внутренних ссылок на них обязательно к исправлению, и вот почему.
- Поисковые роботы расходуют краулинговый бюджет при переходе на 404. Это приводит к тому, что они с меньшей вероятностью просканируют действительно полезные страницы с новым контентом.
- Потеря веса внешних ссылок, которая несомненно скажется на ухудшении в ранжировании этой страницы, а возможно и всего сайта.
- Ухудшение пользовательского опыта. Если на каждом углу посетитель сайта наталкивается на 404 страницу с грустной надписью «Not Found» он с большой вероятностью покинет сайт.
Какие причины приводят к 404
Вызывать эту ошибку могут следующие причины:
- Неправильный URL-адрес. Довольно часто пользователи просто опечатываются.
- Страница была удалена.
- URL-адрес страницы был изменен без настройки редиректов. Это привело к тому, что если пытаться перейти по старому адресу (например, по ссылке с другого сайта или закладок) возникнет ошибка 404.
Помочь найти страницы с 404 ошибкой помогут панели для вебмастеров.
Что делать
Сами по себе 404 ошибки являются нормальной практикой, но те ссылки, которые на них ведут — довольно неприятное явление. Постарайтесь как можно быстрее от них избавиться, изменив на корректные либо вовсе удалив. Так вы значительно меньше будете растрачивать краулинговый бюджет поисковых роботов, а чтобы сократить вероятность ухода с сайта живых людей, при попадании на такую страницу, правильно оформляйте страницу 404. Это тема нашей следующей статьи.
Как узнать сколько пользователей зашли на 404 страницу
Наиболее эффективный способ — создать цель в Яндекс.Метрике и отслеживать её.
После создания цели в Метрике установите на 404 страницу следующий код:
window.onl oad = function ()
XXXXXXX — номер вашего счетчика.
После этого вы сможете отслеживать трафик на 404 странице. Подобным образом можно сделать и в Google Analytics.