我在 AWS EC2 Linux 实例上安装了 Drupal 7.37。在我重新安装 httpd24 和 PHP 5.5 之前,它一直运行良好。从那时起,主页加载完美,但我无法访问我的虚拟目录。例如,当我单击 Drupal 的“登录”按钮时,它会尝试加载mypage.com/user/logout
(我已激活干净的 URL),但出现错误 404。
这是我的虚拟主机:
<VirtualHost *:80>
ServerName www.mypage.com
ServerAlias mypage.com
DocumentRoot /usr/share/drupal7
</VirtualHost>
和目录:
<Directory "/usr/share/drupal7">
AllowOverride None
Require all granted
</Directory>
我应该在哪里寻找问题?httpd.conf 还是 php.ini?
编辑1:当我尝试访问以下某个页面时,会输出访问日志。没有输出错误日志:
xx.xx.xx.xx - - [14/May/2015:16:35:47 +0000] "GET / HTTP/1.1" 200 18900 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36"
xx.xx.xx.xx - - [14/May/2015:16:35:55 +0000] "GET /admin/structure/block?render=overlay HTTP/1.1" 404 219 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36"
编辑2:我的另一个网站在 /var/www/html 上运行虚拟目录,并且运行正常。但是这个 (/usr/share/drupal7) 却不行。
编辑3:我刚刚尝试将我的页面移至 /var/www/html,但遇到了同样的问题。这可能是 drupal 在创建这些虚拟目录(例如 /admin /artefacts /user)时出现的问题吗?.htaccess?
答案1
已修复!我只需要使用 AllowOverride All 编辑目录,如下所示:
<Directory "/usr/share/drupal7">
AllowOverride All
Require all granted
</Directory>