Вопрос или проблема
У меня возникла проблема с MAMP на OS X Mojave. Когда я изменяю порты на стандартные (localhost:8888
), появляется экран WordPress (wp-config).
Я ожидаю, что это загрузится, так как я еще не настроил свою установку WordPress, однако, когда я меняю порт на 80, появляется следующее сообщение об ошибке:
Не найдено. Запрашиваемый URL / не найден на этом сервере.
Почему это работает на стандартном порту, но не на порту 80? Есть ли способ заставить порт 80 работать?
Предположительно, так как MAMP работает на Apache, это может быть проблема виртуального хоста.
Основная установка Apache (то, что настроено в httpd.conf
) обычно слушает на одном или нескольких основных портах (например, порт 80 и, возможно, порт 443). Однако, виртуальные хосты Apache (которые позволяют Apache доставлять несколько веб-сайтов с одного сервера) могут слушать на любом порту. Поэтому Apache может вернуть 404, если ваш виртуальный хост для WordPress настроен на прослушивание, например, порта 8888 (это, вероятно, отличается от любых настроек в WordPress).
Предлагается посмотреть, например, /Applications/MAMP/conf/apache/extra/httpd-vhosts.conf
и проверить, есть ли какие-то виртуальные хосты, которые соответствуют вашей установке WordPress.
У меня была такая же проблема, и это было из-за того, что Apache не мог прочитать стандартный .htaccess WordPress.
Если вы хотите включить mod_rewrite
для вашей установки MAMP, вам нужно сделать следующее:
- Найдите папку установки MAMP, моя находится в
/Applications/MAMP
, так что я буду использовать это, но замените комментарий на ваш - Откройте
/Applications/MAMP/conf/apache/httpd.conf
- Найдите
LoadModule rewrite_module modules/mod_rewrite.so
- Если он отключен, перед ним должен быть комментарий, как так
#LoadModule rewrite_module modules/mod_rewrite.so
- Удалите комментарий, чтобы строка выглядела так:
LoadModule rewrite_module modules/mod_rewrite.so
- Сохраните файл
- Перезапустите сервер MAMP, и он должен быть теперь включен
Ответ или решение
Настройка использования порта 80 в MAMP часто вызывает появление ошибки 404 "The requested URL / was not found on this server", в то время как на порту 8888 всё функционирует корректно. Рассмотрим причины и возможные решения этой проблемы на примере использования MAMP на macOS Mojave с установкой WordPress.
Причины ошибки
-
Конфигурация виртуальных хостов Apache: MAMP, использующий сервер Apache, может быть настроен таким образом, что виртуальные хосты работают на порту 8888. При смене порта на 80, Apache может возвращать ошибку 404, если виртуальный хост не настроен для обработки запросов на этом порту.
-
Проблемы с .htaccess: Файл .htaccess может влиять на перенаправление и обработку URL. Если Apache не имеет доступа к этому файлу или если модуль
mod_rewrite
не активирован, это также может вызвать появление ошибки.
Решения
-
Проверка виртуальных хостов:
- Проверьте файл конфигурации виртуальных хостов:
/Applications/MAMP/conf/apache/extra/httpd-vhosts.conf
. - Убедитесь, что требуемый виртуальный хост настроен на порт 80. Если записи отсутствуют, добавьте необходимую конфигурацию для WordPress.
- Проверьте файл конфигурации виртуальных хостов:
-
Активация mod_rewrite:
- Откройте файл конфигурации Apache MAMP:
/Applications/MAMP/conf/apache/httpd.conf
. - Найдите строку с
LoadModule rewrite_module modules/mod_rewrite.so
. - Если строка закомментирована, удалите символ
#
в начале строки, чтобы активировать модульmod_rewrite
. - Сохраните изменения и перезапустите сервер MAMP.
- Откройте файл конфигурации Apache MAMP:
-
Проверка прав на файл .htaccess:
- Убедитесь, что Apache может читать файл .htaccess в корневой директории установки WordPress. Проверьте права доступа и измените их при необходимости.
Дополнительные рекомендации
- Проверка конфигурации сети и разрешений: Убедитесь, что другие процессы не используют порт 80, и что у вас есть необходимые системные разрешения для его использования.
- Диагностика ошибок с помощью журналов: Проверьте журналы Apache, которые могут предоставить дополнительную информацию о произошедших ошибках.
Применение указанных выше шагов должно помочь в решении проблемы и обеспечении работы вашего WordPress-сайта на порту 80. Убедитесь, что все изменения вносятся аккуратно и имеют резервное копирование во избежание потерь данных.