Вопрос или проблема
<Location /server-status>
SetHandler server-status
Require local
</Location>
# Keep track of extended status information for each request
ExtendedStatus On
Это находится в моем /etc/apache2/mods-enabled/status.conf
Очевидно, что при попытке доступа к этому с моего домашнего компьютера это не работает, но если я добавляю Allow all
и убираю Require local, и я захожу на /server-status, то отображается страница 404 WordPress, что странно.
Я не совсем уверен, что мне нужно изменить, чтобы показывалась настоящая страница mod_status, а не страница 404 WordPress.
Если вам нужна дополнительная информация, пожалуйста, дайте мне знать.
Ответ или решение
Для решения проблемы отображения страницы 404 WordPress при попытке доступа к /server-status
, необходимо понять, как ваш сервер Apache взаимодействует с WordPress и настроить правильные параметры конфигурации.
Проблема:
Когда вы пытаетесь получить доступ к /server-status
, вместо страницы состояния сервера Apache, вы видите страницу 404 WordPress. Это происходит из-за несовпадения настроек маршрутизации, что приводит к тому, что запросы на /server-status
обрабатываются WordPress.
Решение:
-
Проверка структуры конфигурации Apache: Убедитесь, что конфигурация Apache правильно настроена для обработки пути
/server-status
. -
Приоритет конфигурации: Проверьте, какая конфигурация загружается первой. Если конфигурация WordPress загружается раньше конфигурации mod_status, то WordPress может захватывать запросы, включая
/server-status
. -
Размещение блока конфигурации: Убедитесь, что блок конфигурации для
/server-status
находится в правильном месте. Если он находится вstatus.conf
, удостоверьтесь, что этот файл загружается после конфигураций, связанных с WordPress. -
Изменение конфигурации Directory и Location:
- В файле конфигурации Apache добавьте следующее:
<Directory "/var/www/your-wordpress-directory"> AllowOverride All Require all granted </Directory>
Убедитесь, что настройки не конфликтуют с
/server-status
.
- В файле конфигурации Apache добавьте следующее:
-
Перезапуск Apache: После внесения изменений перезапустите Apache:
sudo systemctl restart apache2
-
Проверка файлов .htaccess: Иногда WordPress или плагины вносят изменения в .htaccess, которые могут переопределять настройки Apache. Убедитесь, что в вашем .htaccess отсутствуют правила, которые перенаправляют или блокируют доступ к
/server-status
.
Диагностика и тестирование:
- Журналы: Проверьте логи ошибок Apache для выявления потенциальных причин, которые могут вызывать проблему.
- Временное отключение WordPress: Попробуйте временно отключить WordPress или переименовать файл .htaccess, чтобы определить, связана ли проблема непосредственно с WordPress.
Это решение должно помочь, помогая правильно направлять запросы к /server-status
и избегать их обработки WordPress. Если проблема сохраняется, рассмотрите возможность создания нового виртуального хоста специально для статуса сервера, чтобы изолировать его от маршрутизации WordPress.