首页 > 解决方案 > 尝试在 Ubuntu 上的 Apache 中启用 .htaccess 时出现 500 内部服务器错误

问题描述

我正在尝试.htaccess在我的 Ubuntu-apache2-webserver 上工作。

对于我打开的内容/etc/apache2/apache2.conf,我删除了 AccessFileName .htaccess 之前的注释符号 (#) 并替换AllowOverride NoneAllowOverride Allin

<Directory /var/www/>
     Options Indexes FollowSymLinks
     AllowOverride None
     Require all granted
</Directory>

mod_rewrite通过a2enmod重写激活并重新启动服务器。

但是每次我执行这些更改并打开放置在 /var/www/html 中的 html 文件时,我都会收到虚拟主机 80 的 500 内部服务器错误。

我在放置时也发生了同样的事情

<Directory /var/www/>
     Options Indexes FollowSymLinks
     AllowOverride All
     Require all granted
</Directory>

之前</VirtualHost>进入000-default.conf-file 而不是/etc/apache2/apache2.conf.

谁能告诉我我错过了什么?

标签: apache.htaccessubuntu

解决方案


你的语法有点偏离allowOverride. Directory标签必须在标签VirtualHost像这样:

<VirtualHost *:80>
  DocumentRoot /var/www/html
  ErrorLog /var/log/apache2/error.log
  Options Includes
  <Directory "/var/www/html">
  AllowOverride All
  </Directory>
</VirtualHost>

另外,请确保 Apache 有权读取和写入目录/var/www/html


推荐阅读