Привет, ребята. Я задаю этот вопрос здесь в крайнем случае, так как я пытаюсь решить проблему уже почти два дня.
Я пытаюсь включить чистые URL-адреса в своем веб-приложении Drupal. Я посетил несколько общедоступных вопросов, таких как это один, но безрезультатно. Мои искренние извинения, если это репост.
Некоторый (соответствующий) контекст:
- Проект включает в себя автоматическую настройку виртуальной машины с помощью скрипта Vagrant.
- Виртуальная машина не имеет графического интерфейса.
- Vagrant использует VirtualBox.
- Vagrant использует bento/centos-7.9 в качестве базового блока.
- Я использую WSL на своем физическом устройстве всякий раз, когда мне нужен терминал для команд PS или Linux.
Я настраиваю стек LAMP на виртуальной машине, используя следующее:
- CentOS 7.9, как указано выше.
- Apache 2.4.6, например:
yum -y install httpd
- MariaDB 10.5.9, например:
wget https://downloads.mariadb.com/MariaDB/mariadb_repo_setup
chmod +x mariadb_repo_setup
./mariadb_repo_setup
yum -y install mariadb-server
- PHP 7.4.16, например:
yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
yum -y install https://rpms.remirepo.net/enterprise/remi-release-7.rpm
yum-config-manager --enable remi-php74
yum -y install php php-mysql
Я храню извлеченное содержимое Drupal (index.php, update.php, ядро, сайты...) под
/var/www/drupal/
. Я предоставил Apache рекурсивное владение этой папкой, чтобы не создавать проблем с настройкой разрешений. В любом случае, это не производственный проект.В файле
/etc/httpd/conf/httpd.conf
я коснулся только DocumentRoot, которому я присвоил значениеDocumentRoot "/var/www/drupal"
. Я не хочу использовать .htaccess.Когда я запускаю
httpd -M | grep rewrite
, я получаю выходные данные rewrite_module (shared). Когда я запускаюphpinfo();
на тестовой странице, среди загруженных модулей присутствует mod_rewrite.
Запустив приложение, все идет нормально, и выдается следующий вывод:
Верхняя часть предупреждений Drupal
нижняя часть предупреждений Drupal
Я знаю о двух других предупреждениях, но об этом мы поговорим в другой раз. Когда я продолжаю, несмотря на предупреждения, Apache нормально загружает index.php:
Однако в тот момент, когда я нажимаю любую кнопку, происходит следующее:
Снимок экрана с еще одной проблемой
Я подозреваю, что это следствие того, что чистый URL не включен. Однако, насколько я знаю, все необходимые модули установлены.
Что я пробовал до сих пор:
- В
/etc/httpd/conf/httpd.conf
попробуйте все, что предложено здесь . - В
/etc/httpd/conf/httpd.conf
установите для каждого параметра AllowOverride значение Все. - Проверка на совместимость.
- Перемещение корня документа.
- Намного больше...
Помощь будет принята с благодарностью. Спасибо заранее. Если вам потребуется дополнительная информация, я отвечу как можно скорее.