- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Как снизить ДРР до 4,38% и повысить продажи с помощью VK Рекламы
Для интернет-магазина инженерных систем
Мария Лосева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Здравствуйте!
Сайт под управлением NginX в конфиге выставлена своя страница на ошибку 404 - 404.html Как бы всё работает, но есть нюансы, вообщем когда запрашивают удалённую новость скрипт делает инклайд 404.php, но запускается почему то 404.html! Эти страницы немного разные потому и заметил.
Первой строкой в файле 404.php стоит:
Возможно из за этого запускаетя 404.html? А как тогда правильно выдать 404 ошибку? Будет ли правильным такой вызов странички ошибки
Я проверил такой вызов 404 работает...
Как бы всё работает, но есть нюансы, вообщем когда запрашивают удалённую новость скрипт делает инклайд 404.php, но запускается почему то 404.html!
Это может зависеть от настроек. Когда скрипт возвращает страницу (статус) 404, она может подменяться соответствующей серверной.
Обычно делается наоборот: ответ скрипта не подменяется. И только в самых критических случаях может выводиться серверная страница ошибки.
P.S. Иногда бывает, что сам скрипт в качестве содержимого страницы ошибки выдает статический файл (404.html, etc.). Этот подход частенько использовали в устаревших программных каркасах, т.е. без фронт-контроллера.
Конфиг бы nginx показали, было бы понятнее.
В конфиге NginX прописал вот так:
В конфиге NginX прописал вот так:
Отлично, а обработка PHP как идёт?
По сути ошибка 404 nginx нужна исключительно для файлов, физических, которые он не может найти. Картинки, стили и т.д. Всё остальное если там rewrite должно быть завёрнуто на index.php и там раскидываться какие данные выводить.
location @php {include /etc/nginx/vhosts-resources/hd2k.ru/dynamic/*.conf;
fastcgi_index index.php;
fastcgi_param PHP_ADMIN_VALUE "sendmail_path = /usr/sbin/sendmail -t -i -f webmaster@hd2k.ru";
fastcgi_pass unix:/var/www/php-fpm/16.sock;
fastcgi_split_path_info ^((?U).+\.ph(?:p\d*|tml))(/?.+)$;
try_files $uri =404;
include fastcgi_params;
}
Ну вообщем сайт работает на PHP 8 почему то через некоторое время начинает подвисать, приходится перезапускать PHP 8... Перевёл сайт даже на PHP 7, вроде работает. У меня как то была проблема на одном сайте, забыл поставить команду exit; после редиректа через хедер и вот тут похожая проблема.
Хотя конечно возможно проблема и не в 404...
Вот я и спрашиваю, как правильно выдать 404 ошибку?
У меня как то была проблема на одном сайте, забыл поставить команду exit; после редиректа через хедер и вот тут похожая проблема.
Да я знаю, просто забыл тогда поставить команду...
Непонятное происходит с моей страницей 404. В локалке под Апачем проходит
А на сервере тоже проходит, но после модификации хедера в первой строчке получается по сути редирек на 404.html! Вот я и думаю что надо ставить exit...А как тогда правильно выдать 404 ошибку?
в php-location должно действовать: