【问题标题】:500 Internal Server Error when trying to enable use of .htaccess in Apache on Ubuntu尝试在 Ubuntu 上的 Apache 中启用 .htaccess 时出现 500 内部服务器错误
【发布时间】:2018-05-07 19:12:44
【问题描述】:

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

为此我打开了/etc/apache2/apache2.conf, 我删除了 AccessFileName .htaccess 之前的注释符号 (#) 并将AllowOverride None 替换为AllowOverride All

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

我通过a2enmod rewrite 激活了mod_rewrite 并重新启动了服务器。

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

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

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

&lt;/VirtualHost&gt; 之前进入000-default.conf 文件而不是/etc/apache2/apache2.conf

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

【问题讨论】:

  • 500 是内部服务器错误。查看服务器日志文件以找出问题所在
  • 你能告诉我怎么做吗?我对这一切都很陌生。
  • Ubuntu 中,如果您使用stock 配置,您正在寻找的日志是/var/log/apache2/error.log
  • 查看写入错误日志的配置,打开日志文件并粘贴消息
  • 这里说 AllowOverwrite 不允许:[Mon May 07 20:44:38.074642 2018] [core:alert] [pid 12406] [client 189.166.0.173:45358] /var/www/html/ dkk/.htaccess:此处不允许 AllowOverride

标签: apache .htaccess ubuntu


【解决方案1】:

您对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

【讨论】:

  • 它在里面,我只是没有发布第一部分。对不起!
  • 你的.htaccess文件是空的吗?
猜你喜欢
  • 2012-05-26
  • 2013-12-08
  • 1970-01-01
  • 1970-01-01
  • 2016-07-23
  • 2012-03-12
  • 2015-10-11
  • 2012-07-20
相关资源
最近更新 更多