php — Страница 404 при нажатии на кнопку формы
Только начал работать в PhpStorm и столкнулся с такой проблемой, что при нажатии на кнопку «Apply» Firefox пишет 404 not found
, а Opera вообще не реагирует.
Решил скопировать этот же код и запустить его через обычный текстовый редактор. Всё работает. Возможно, кто — то сталкивался с подобной проблемой. Буду очень благодарен.
P.S. В Google искал решение, многие пишут об изменении некоторых параметров в файле php.ini
. Не помогло.
test.html:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>MyTitle</title> </head> <body> <form method = 'POST' action = "obr.php"> <p><input type = "text" name = "field"></p> <p><input type = 'submit' name = 'apply' value = 'Aply'></p> </form> </body> </html
obr. php:
<?php if(isset($_POST["apply"])){ echo "The button is pressed"; } else { echo "Press the button"; } ?>
- php
- phpstorm
1
Чаше всего 404 возникает, если в action указана неверная ссылка. И надо просто указать путь к файлу правильно.
Но у автора была другая проблема. В PhpStorm, а точнее в его встроенном сервере. В этом топике её обсуждают. Как пишут в конце, её вроде бы пофиксиле но в моей версии 2017.3 всё ещё воспроизводится. В этом же топики пишут как её временно пофиксить. Обходной путь это не использовать встроенный сервер, а использовать Apache/nginx/IIS или что то другое.
У вас не указан параметр
в теге form
Соответственно, этот ваш submit
, как бы говорит форме «давай ка, отправляйся!», а форма такая — «А куда отправляться то? Я не знаю, вот на тебе 404!»
7
Когда форма отправляется на сервер, управление данными передается программе, заданной атрибутом action тега <form>
. Ну и где у вас атрибут action ?
6
Ошибка 404 означает, что страница не найдена, то есть её нет
1
Зарегистрируйтесь или войдите
Регистрация через Google
Регистрация через Facebook
Регистрация через почту
Отправить без регистрации
Почта
Необходима, но никому не показывается
Отправить без регистрации
Почта
Необходима, но никому не показывается
Нажимая на кнопку «Отправить ответ», вы соглашаетесь с нашими пользовательским соглашением, политикой конфиденциальности и политикой о куки
Переключение сайта в режим NGINX PHP-FPM
Официальный сертифицированный
хостинг для продуктов 1С Битрикс
Тематика страницы
СайтСправка
PHP-FPM nginx битрикс хостинг панель управления производительность режимы PHP скорость сайта
15. 12.2019
Работа сайта на 1С Битрикс в режиме Apache NGINX PHP-FPM позволяет увеличить производительность системы минимум на 20%.
Режим полезен для высоконагруженных проектов с высоким трафиком и узлами генерирующими множество страниц.
Данная настройка доступна для самостоятельного изменения только на услугах VPS и выделенных серверов. Для изменений в рамках shared-хостинга требуется написать обращение в техническую поддержку с просьбой «
Изменение режима и версии PHP через панель управления хостингом в любой момент времени.
Выбрать необходимую версию PHP можно параметрах WWW-домена:
Для полноценной поддержки сайтом режима PHP-FPM в панели управления хостингом (под root-пользователем) войдите в раздел «www-домены», выберите домен и нажмите кнопку «Конфиг».
Обязательно предварительно скопируйте весь конфигурационный текст и сохраните на компьютере. В случае, если конфигурация будет изменена с ошибками, то будет возможность вернуть первоначальную рабочую версию.
Далее необходимо внести изменения в образец конфигурационного файла (фрагменты для изменения отмечены в тексте):
Обычный режим
Многосайтовость
Используется для запуска сайта без подсайтов (мультисайтинг/многосайтовость).
server { server_name site-example.ru www.site-example.ru; return 301 https://$server_name$request_uri; charset off; index index.php index.html; disable_symlinks if_not_owner from=$root_path; include /etc/nginx/vhosts-includes/*.conf; include /etc/nginx/vhosts-resources/site-example.ru/*.conf; access_log /var/www/httpd-logs/site-example.ru.access.log; error_log /var/www/httpd-logs/site-example.ru.error.log notice; ssi on; return 301 https://$host:443$request_uri; set $root_path /var/www/uXXXXXbtrxXXXXX/data/www/site-example.ru; root $root_path; gzip on; gzip_comp_level 7; gzip_disable "msie6"; gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript; location / { error_page 404 = /404.((?U).+\.ph(?:p\d*|tml))(/?.+)$; try_files $uri =404; include fastcgi_params; } } server { listen 111.111.111.111:443 ssl; ssi on; gzip on; gzip_comp_level 7; gzip_disable "msie6"; gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript; server_name site-example.ru www.site-example.ru; ssl_certificate "/var/www/httpd-cert/uXXXXXbtrxXXXXX/site-example.ru.crtca"; ssl_certificate_key "/var/www/httpd-cert/uXXXXXbtrxXXXXX/site-example.ru.key"; ssl_ciphers EECDH:+AES256:-3DES:RSA+AES:!NULL:!RC4; ssl_prefer_server_ciphers on; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; add_header Strict-Transport-Security "max-age=31536000;"; ssl_dhparam /etc/ssl/certs/dhparam4096.pem; charset off; #disable_symlinks if_not_owner from=$root_path; index index. (.*)$ https://site-example.ru$1 permanent; } location / { try_files $uri $uri/ @bitrix; } location ~* /upload/.*\.(php|php3|php4|php5|php6|phtml|pl|asp|aspx|cgi|dll|exe|shtm|shtml|fcg|fcgi|fpl|asmx|pht|py|psp|rb|var)$ { types { text/plain text/plain php php3 php4 php5 php6 phtml pl asp aspx cgi dll exe ico shtm shtml fcg fcgi fpl asmx pht py psp rb var; } } location ~ \.php$ { try_files $uri @bitrix; fastcgi_pass $php_sock; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PHP_ADMIN_VALUE "sendmail_path = /usr/sbin/sendmail -t -i -f [email protected]"; include fastcgi_params; } location @bitrix { fastcgi_pass $php_sock; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root/bitrix/urlrewrite. php; fastcgi_param PHP_ADMIN_VALUE "sendmail_path = /usr/sbin/sendmail -t -i -f [email protected]"; } location ~* /bitrix/admin.+\.php$ { try_files $uri @bitrixadm; fastcgi_pass $php_sock; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PHP_ADMIN_VALUE "sendmail_path = /usr/sbin/sendmail -t -i -f [email protected]"; include fastcgi_params; } location @bitrixadm{ fastcgi_pass $php_sock; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root/bitrix/admin/404.php; fastcgi_param PHP_ADMIN_VALUE "sendmail_path = /usr/sbin/sendmail -t -i -f [email protected]"; } location = /favicon.ico { log_not_found off; access_log off; } location = /robots.txt { allow all; log_not_found off; access_log off; } # # block this locations for any installation # # ht(passwd|access) location ~* /\. /(bitrix|local)/(backup|blocks|bx_cloud_upload|local_cache|module|modules|managed_cache|php_interface|public|stack_cache)/ { internal; } include /etc/nginx/fastcgi_params; fastcgi_pass unix:/var/www/php-fpm/uXXXXXbtrxXXXXX.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_intercept_errors on; } }
Концепция и все материалы с сайта btrxboost.com включающие в себя текстовую, графическую, видео, аудио и маркетинговую информацию, защищены российским и международным законодательством. В соответствии с соглашением об охране авторских прав и интеллектуальной собственности (ст. №1259, №1260, гл. 70 “Авторское право” ГК РФ от 18.12.2006 № 230-ФЗ) и согласно сертификату собственности авторских прав на информационные материалы RID 07N-4M-48 от 12.08.2012, а также сертификата DMCA id: f25cb914-aba8-4988-a116-13afb399bba2 от 21.06.2019.
В случае нарушений данных правил, применяются следующие меры: подача официального заявления в судебные органы в т. ч. с эскалацией запроса хостинг-провайдеру на котором расположен сайт-нарушитель, а также подача запроса на исключение сайта-нарушителя из поисковых систем согласно “Online Copyright Infringement Liability Limitation Act” по ч. II, раздел 512 к закону об авторском праве по DMCA.
Как исправить ошибку 404 WordPress в мгновение ока
Начнем с самого начала: что же все-таки означает страница с ошибкой 404?
Страница с ошибкой 404 означает неработающую ссылку. Это означает, что контент, который пользователи искали на этой странице, не существует или больше не существует.
404 — это код состояния, который веб-сервер отображает, когда запрошенная страница не может быть найдена.
Состояние страниц ошибки 404
Каждый веб-сайт предоставляет страницу 404, когда запрошенный контент не существует. Каждый веб-сайт предоставляет страницу 404, даже если на ней нет настройки. Однако важно предоставить пользователям альтернативные варианты того, как они могут продолжить навигацию по веб-сайту.
Существует разница между ошибкой 404 в браузере и ошибкой страницы 404.
Ошибка 404 в браузере:Этот тип страницы с ошибкой подразумевает, что самого веб-сайта не существует. Это очень расстраивает пользователей. Это означает, что нет другого варианта найти полезную информацию по соответствующему адресу.
Ошибка страницы 404:
Напротив, на настроенной странице ошибки 404 у вас есть возможность удерживать читателей на крючке и направлять их по веб-сайту к нужной им информации. Страница с ошибкой 404 означает, что на требуемой странице нет контента, но пользователи могут вернуться на другую страницу и повторить поиск.
Такую страницу необходимо соответствующим образом настроить, чтобы она была удобной для пользователей и приглашала читателей оставаться на сайте. Но как настроить страницу ошибки?
Переход на страницу с ошибкой может вызвать разочарование. Такую страницу необходимо настроить, чтобы сделать ее удобной для пользователя и пригласить читателей остаться на сайте. Чтобы улучшить пользовательский опыт, вы можете создать интерактивную игру. Это перенаправит внимание вашего читателя от ошибки, тем самым превратив ошибку в возможность создать положительное впечатление о бренде. Помните, что хорошо продуманная страница 404 может снизить показатель отказов и повысить конверсию.
Чтобы выполнить настройку, вам нужно сначала найти страницу ошибки 404 на веб-сайте WordPress.
Где мне найти страницу с ошибкой 404 в моем WordPress?
Тема, используемая для вашего веб-сайта, может иметь файл шаблона с ошибкой 404. Чтобы найти его, войдите в панель администратора WordPress. В меню слева выберите Внешний вид -> Редактор тем. В правой части экрана вы должны найти шаблон 404 (файл 404.php), который вы должны настроить по своему усмотрению.
Важное примечание! Для некоторых тем в редакторе тем нет файла 404.php. Это не должно вас расстраивать, потому что есть лучшее решение для настройки страницы с ошибкой 404. Продолжайте читать.
Чтобы начать процесс настройки страницы с ошибкой 404, вам также необходимо знать о ее полезности для читателей. Вы должны полностью осознавать ее важность в том, что:
- Настраиваемая страница ошибки 404 удобна для пользователя и поощряет навигацию по остальной части веб-сайта, увеличивая время пребывания на сайте (когда есть риск для пользователей). покинуть сайт)
- Пользовательские страницы 404 служат для повышения узнаваемости бренда. Пока они заимствуют цветовую схему веб-сайта, а макет хорошо интегрируется в общую презентацию веб-сайта, типографика соответствует другим страницам, настраиваемые страницы 404 вносят свой вклад в индивидуальность бренда в онлайн-среде.
- Страница 404 действует как целевая страница для мягкой продажи: она помогает удерживать людей на веб-сайте и может служить для лучшего разъяснения процесса принятия решений пользователям, которые возобновят поиск.
Фактическая настройка страницы с ошибкой 404
Чтобы перенести определенные элементы на страницу 404 и настроить ее наилучшим образом, доступны 3 варианта:
- Вам необходимо изменить файл 404.php . Для этого вам нужно настроить код для настройки страницы ошибок. Требуются некоторые знания CSS и PHP.
Кроме того, чтобы убедиться, что все остальное на веб-сайте остается на месте, вы должны убедиться, что у вас есть резервная копия веб-сайта, прежде чем приступать к фактическим изменениям в файле 404.php.
- Другой вариант — взять 404-страничный шаблон из темы Twenty Thirteen и применить его к своей теме. Не очень сложный, он также требует некоторых знаний в области кодирования, чтобы правильно передать код и заставить его работать.
3. Третий вариант — использовать плагины для страниц 404. Обратите внимание, однако, что вы не можете использовать какой-либо плагин, доступный для вашего веб-сайта WordPress (поэтому лучше всего создать пользовательскую страницу 4040 с полным контролем над страницей и без зависимости от плагина).
И мы объясним вам, почему:
Когда пользователь переходит по неработающей ссылке, он перенаправляется на пользовательскую страницу 404. То же самое и с ботами поисковых систем. Боты перенаправляются на пользовательскую страницу 404, как только обнаруживают неработающую ссылку. Плагины, которые делают это перенаправление, не оптимизированы для SEO, и их следует избегать.
Однако есть плагин, который вы можете безопасно использовать, не влияя на SEO: это 404Page. Он не делает этого перенаправления, и его очень легко использовать. С помощью 404Page вы можете настроить страницу так же, как и любую другую страницу веб-сайта. Есть некоторые ограничения, но для дополнительных настроек вам потребуется пользовательская страница 404 и знания кодирования, чтобы внести изменения.
С точки зрения основных настроек, и даже более чем основных, вы можете положиться на 404Page.
Скачать плагин
Давайте посмотрим, как вы можете использовать 404-страниц в своем WordPress и сделать его просто панель администратора WordPress.
- Нажмите «Установить», затем «Активировать плагин».
- Затем создайте страницу, которая будет представлять вашу страницу с ошибкой 404 на веб-сайте.
Обратите внимание, что для этого вам нужно перейти в Страницы -> Добавить новую -> создать свою страницу.
Новую страницу можно настроить так же, как и любую другую страницу веб-сайта, либо в редакторе WordPress, либо непосредственно в настройщике (как в случае с темой Mesmerize).
Как настроить страницу с ошибкой 404:
Добавьте заголовок, поясняющий, что это страница с ошибкой 404.
При необходимости вы можете добавить 1 или 2 блока контента для дополнительных указаний или для украшения страницы.
Вы можете настроить фон страницы. Таким образом, он идеально интегрируется в общий дизайн сайта и, косвенно, в его брендинг.
Элементы, которые можно рассматривать как потенциально полезные на такой странице:
- Поле поиска — оно может помочь пользователям напрямую искать нужную им информацию прямо на странице ошибки .
- Ссылка на домашнюю страницу — это полезно для ориентации посетителей в процессе навигации, если они попали на страницу с ошибкой
- Забавное сообщение — текст на странице с ошибкой 404 может быть дружелюбным, поэтому пользователи склонны дольше задерживаться на сайте и перезапускать поиск нужной информации; такое сообщение устанавливает соединение с пользователями
- Пояснительное сообщение для отображения страницы с ошибкой 404 — если не смешно, то хотя бы ясно и поясняюще, текст на странице с ошибкой должен помочь пользователям. Этот текст должен сообщить пользователям, почему страница с ошибкой отображается на этом этапе их процесса поиска и как перезапустить сеанс просмотра .
- Дополнительные ссылки, по которым пользователи могут перезапустить сеанс просмотра — в соответствии с приведенным выше текстовым элементом, ссылки, которые помогают пользователям перемещаться по важным страницам с полезной информацией, более чем приветствуются на страницах с ошибкой 404
- Главное меню — как мы уже упоминали полезные ссылки, главное меню не может быть упущено из списка. Он включает в себя наиболее важные ссылки, по которым посетители могут перейти, поэтому подумайте также о включении меню на страницу с ошибкой 404.
- Некоторые подсказки относительно того, как пользователи могут ориентироваться на веб-сайте — этот элемент является более общим, но мы подумали, что было бы полезно включить его в список, так как он включает в себя несколько отдельных элементов (по вашему выбору), которые служат для ориентации пользователей внутри веб-сайт, и из страницы ошибки.
- Вы можете выбрать отображение популярных сообщений, чтобы посетители блога могли перезапустить свою навигацию с вашего широко оцененного сообщения
- Можно выбрать отображение наиболее прокомментированных сообщений, чтобы пользователи перезапустили навигацию по блогу с некоторых сообщений, представляющих темы, представляющие большой интерес
- Вы можете вставить виджет архивов на страницу ошибок, чтобы посетители могли просматривать старые сообщения в поисках интересующих их тем.
- После того, как страница, которую вы хотите использовать, будет готова и настроена, вам нужно выполнить еще один шаг:
Проверить результаты
В левом меню панели администратора WordPress выберите Внешний вид -> Страница ошибки 404.
Выберите только что настроенную страницу в качестве страницы 404 и установите ее как страницу с ошибкой 404, которая будет отображаться по умолчанию, когда пользователи переходят по неработающей ссылке:
Нажмите Сохранить изменения и все. Вы завершили настройку пользовательской страницы с ошибкой 404 для своего веб-сайта или блога.
Теперь повторно введите адрес своего веб-сайта в браузер и введите что угодно после адреса / просто что угодно. Вот как может выглядеть страница:
Это пример страницы с ошибкой 404, которую мы настроили с помощью плагина 404Page для темы Mesmerize.
У вас есть полная свобода в том, как вы можете настроить свою страницу (поскольку это просто еще одна страница вашего сайта). Приведенный выше пример является простым предложением: мы хотели показать вам, что страницы с ошибкой 404 могут выглядеть больше, чем страницы с ошибками по умолчанию.
Быстрое решение: действительно ли можно перенаправить все страницы с ошибкой 404 на главную?
Стало обычной практикой перенаправлять страницы 404 на главную страницу. Идея состоит в том, чтобы помочь пользователям повторно инициализировать свой поиск на веб-сайте, не беспокоясь об ошибке 404 страницы. Но действительно ли это рекомендуемое решение?
Ответ: нет. Перенаправляйте страницы 404 на главную только в том случае, если у вас большое количество битых ссылок и вы хотите быстро решить проблему. В противном случае лучше перенаправлять страницы по отдельности, одну за другой и на правильные новые страницы.
Мы надеемся, что эта статья поможет вам настроить собственную страницу ошибки 404. Вы можете придать ему достаточно стиля, чтобы сделать его более приятной остановкой в процессе поиска. Кроме того, мы надеемся, что вы как можно скорее приступите к настройке страницы с ошибкой 404. Вы не должны пренебрегать этим аспектом, который может привести к потере драгоценного трафика на сайте.
[идентификатор sibwp_form=1]
php fpm — расширение nginx 404 .php с fpm
Задавать вопрос
спросил
Изменено 1 год, 2 месяца назад
Просмотрено 1к раз
Когда я посещаю несуществующий URL-адрес с расширением .php, я получаю страницу с ошибкой ngnix 404, однако URL-адрес без расширения .php работает должным образом, используя файл try_files. Где 404 обрабатывается через приложение php. 9(.+?\.php)(/.*)$; если (!-f $document_root$fastcgi_script_name) { вернуть 404; }
Причина добавления этого заключалась в исправлении ошибки в журналах: FastCGI отправил в stderr: «Первичный сценарий неизвестен» при чтении заголовка ответа из восходящего потока Эта ошибка происходила, когда я посещал файл non-existent. /]\.php(/|$) { включить /etc/nginx/include.d/php.conf; fastcgi_pass unix:/var/run/php/php8.0-fpm-example.sock; } } 9(.+?\.php)(/.*)$; если (!-f $document_root$fastcgi_script_name) { вернуть 404; } fastcgi_index index.php; # Смягчить https://httpoxy.org/ уязвимости fastcgi_param HTTP_PROXY «»; fastcgi_intercept_errors выключен; # включить параметр fastcgi_param включить fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
Пример URL: https://example.com/foo — отлично работает, показывает довольно 404 внутри приложения php. https://example.com/foo.php — показывает ngnix по умолчанию 404.
- нгинкс
- php-fpm
2
Если вы хотите, чтобы эти URI обрабатывались как любые другие несуществующие URI, измените try_files $uri =404;
в try_files $uri /index.php?$query_string;
в файле php.conf
.
Если ваше PHP-приложение действительно использует переменную PATH_INFO
FastCGI (в чем я сомневаюсь), вы должны использовать
fastcgi_split_path_info ^(.