【问题标题】:.htaccess causes ERROR 500 - INTERNAL SERVER ERROR.htaccess 导致错误 500 - 内部服务器错误
【发布时间】:2015-11-23 21:24:18
【问题描述】:

我正在使用共享主机(apache、php、wordpress),并且在尝试阻止访问 .htaccess 和 wp-config 时,我得到了

错误 500 - 内部服务器错误

我所做的是将这些放入 .htaccess:

# protect the wp-config file
<files wp-config.php> 
Order allow, deny
Deny from all
</files> 

# Prevent access to .htaccess
<Files .htaccess>
Order allow, deny
Deny from all
</Files>

这就是我的 .htaccess 中的全部内容。
我遵循了大多数显示这一点的网站中的示例。 如果我扫订单:

Order deny,allow
Deny from all

没有内部错误,但这不是我在大多数网站指南中看到的。 如果有人知道为什么以及使用什么。

【问题讨论】:

  • 500/内部错误总是伴随着网络服务器error.log中更详细的消息。
  • 无日志。有,我删除它并再次调用我的网站-那里什么都没有(.htaccess 中的相同根目录)

标签: php apache .htaccess


【解决方案1】:

这是在 Apache 2.2 还是 Apache 2.4 服务器上? Apache 2.4 中的 Order/Deny 规则已更改,请参阅 http://httpd.apache.org/docs/trunk/upgrading.html

如果是Apache 2.4,那么这两行:

Order deny,allow
Deny from all

将被替换为:

Require all denied

或者,如果是自己的服务器,也可以启用mod_access_compat模块,这是2.4的兼容模块,支持2.2的配置。但由于它是共享主机,我怀疑你能做到这一点,除非你很好地问他们。

【讨论】:

  • google了一下,发现nginx不使用.htaccess。您可能想在 Google 上搜索“WordPress on nginx”以了解如何配置您的 WP 以在 Nginx 上运行。参见例如:codex.wordpress.org/Nginx 您可能还想从您的问题中删除 apache 标签。
  • 我现在检查了 Hostgator,它是 Apache 2.2.24 或 2.2.25。所以我错了,不是 nginx(我是从 builtwith.com 得到的)
【解决方案2】:

更新: 问题是由单词之间的空格字符引起的:允许、拒绝。

命令允许,拒绝

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-22
    • 2016-09-22
    • 2017-04-05
    • 1970-01-01
    相关资源
    最近更新 更多