【问题标题】:Server error, why this error message appears when i use .htaccess服务器错误,为什么在我使用 .htaccess 时出现此错误消息
【发布时间】:2009-12-03 12:17:42
【问题描述】:

当我在名为 admin 的文件夹中使用 .htaccess 文件时,代码如下

AuthName "Alertme"
AuthType Basic
AuthUserFile /mobs/.htpasswd
require valid-user 

和带有以下代码的.htpasswd 文件

rajasekar:66Acdia7gE1to

访问文件夹内的文件时,出现服务器错误,服务器遇到内部错误,无法完成您的请求

为什么会这样。帮帮我

【问题讨论】:

  • 你的AuthUserFile路径是故意/mobs/.htpasswd吗?如果您尝试在终端中cat 该路径会发生什么?
  • 我会改写多米尼克想说的话,因为你似乎不明白。 /mobs/.htpasswd 暗示此位置存在于根目录中,因为前导正斜杠。你是那个意思吗?如果不是,.htpasswd 文件的完整路径是什么?

标签: php html .htaccess


【解决方案1】:

很可能您的 Apache 配置现在允许在该目录和/或位置的 .htaccess 中使用 Auth* 指令。您可以确定查看该主机的 error_log 的原因。会有一行看起来像:

[Wed Dec 02 22:13:14 2009] [alert] [client x.x.x.x] /path/leading/to/.htaccess: AuthName not allowed here

对于尝试访问该特定服务器/目录的任何客户端,此错误将显示为“500 内部服务器”错误。

您需要添加“AllowOverride AuthConfig”,以便 Apache 接受 .htaccess 中的 Auth 指令。详细信息是 Apache 文档中的 here。

【讨论】:

  • 同意。对于 Apache 错误,最好检查您的日志文件以了解 Apache 所说的错误。
【解决方案2】:

确保 /mobs/.htpasswd 是文件系统上的绝对路径(与您的 webroot 无关)

【讨论】:

    【解决方案3】:

    这通常发生在 apache 无法读取您的 htaccess 和/或 htpasswd 文件时。要么是因为运行 apache 的用户对这些文件没有所需的权限。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-20
      • 1970-01-01
      相关资源
      最近更新 更多