为什么我的 clean URL 在 Drupal 中不起作用,即使存在 rewrite_module?

Why don't my clean URL's work in Drupal, even though rewrite_module is present?

大家好。我在这里问这个问题是不得已的办法,因为我已经尝试解决这个问题将近两天了。

我正在尝试在我的 Drupal 网络应用程序上启用清理 URL。我访问了几个public个问题this一个,但都没有用。如果这是转载,我深表歉意。

一些(相关)上下文:

我正在使用以下方法在 VM 上设置 LAMP 堆栈:

yum -y install httpd

wget https://downloads.mariadb.com/MariaDB/mariadb_repo_setup

chmod +x mariadb_repo_setup

./mariadb_repo_setup

yum -y install mariadb-server

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 warnings top part

Drupal warnings bottom part

我知道其他两个警告,但这些是另一天的担忧。当我不顾警告继续时,Apache 加载 index.php 就好了:

Screenshot of index.php

但是,当我单击 任何按钮 时,会发生这种情况:

Screenshot of yet another problem

我怀疑这是 clean URL 未启用 的结果。但是,据我所知,所有必要的模块都已安装。

到目前为止我尝试过的:

将不胜感激。提前谢谢了。如果您需要更多信息,我会尽快回复。

大家好。问题已解决

不知何故,它突然起作用了。我现在可以在不弹出 未找到 错误的情况下浏览网站。

我重试了一个以前不行的方法,现在可以了。任何其他变量都没有变化。我编辑了 /etc/httpd/conf/httpd.conf。除了已经将 DocumentRoot 更改为 /var/www/drupal 之外,我还在其下添加了另一个配置:

<Directory "/var/www/drupal">
  RewriteEngine on
  RewriteBase /
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_URI} !=/favicon.ico
  RewriteRule ^ index.php [L]
</Directory>

我从 here 获得了这些信息。

尽管 CLEAN URLS 警告仍然存在:

Drupal warnings top part

但是尽管有警告,继续时似乎没有问题。事实上,在应用程序本身中,导航到 errors/warnings 部分,CLEAN URLS 警告甚至不存在!