【问题标题】:htaccess causing http 500 on file downloadhtaccess 在文件下载时导致 http 500
【发布时间】:2015-10-25 14:26:58
【问题描述】:

我的 CentOS Linux 7 运行 wordpress 4.2.3 并安装了重力表单插件,也在他的新版本中。

插件使用以下指令在他的上传文件夹中创建了一个 htaccess 文件:

# BEGIN Gravity Forms
# Disable parsing of PHP for some server configurations. This file may be removed or modified on certain server configurations by using by the gform_upload_root_htaccess_rules filter. Please consult your system administrator before removing this file.
<Files *>
    SetHandler none
    SetHandler default-handler
    Options -ExecCGI
    RemoveHandler .cgi .php .php3 .php4 .php5 .phtml .pl .py .pyc .pyo
</Files>
<IfModule mod_php5.c>
    php_flag engine off
</IfModule>
# END Gravity Forms

当我尝试在文件夹中下载文件(图像)时出现问题,返回 http 500,如果我更改文件名,一切正常。

htaccess 中的某些内容不适用于服务器配置?

【问题讨论】:

  • 你能告诉我引用这个 500 错误的 Apache 错误日志吗?它应该在 /var/log/httpd/error_log 或类似的地方。
  • error_log 中没有任何记录,但我发现它是另一个日志 - httpd/domains/domain.com.log:745:172.17.41.5 - - [04/Aug/2015:11:46:39 + 0300] "GET /wp-content/uploads/gravity_forms/2-7457db24a52958f1b9d0d0b408d0ba37/ 2015/01/Desert.jpg HTTP/1.1" 500 697 "-" "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 ( KHTML,如 Gecko) Chrome/44.0.2403.125 Safari/537.36"
  • 这是 500 错误,似乎没有多大帮助。如果您重新启动 Apache,它会抱怨 .htaccess 文件吗?另外,当您说“如果我更改文件名,一切正常”时,您的意思是什么。当您更改图像文件的名称时?

标签: wordpress apache .htaccess centos


【解决方案1】:

简而言之,将其添加到您的 Wordpress 主题的 functions.php(或您选择的任何合理的地方):

add_filter( 'gform_upload_root_htaccess_rules', '__return_false' );

这是 Gravity Forms 在共享主机上的常见问题。 Gravity Forms 大约一年前添加了这个 .htaccess,作为对其插件中的漏洞利用的回应。这种短视(在我看来)的黑客攻击破坏了很多网站,因此添加上述过滤器是他们修复黑客攻击的手段。

在站点正常运行之前,您不能只编辑 .htaccess 文件。如果您不添加此过滤器,Gravity Forms 将重新创建其原始 .htaccess 文件。

https://docs.gravityforms.com/security/#the-htaccess-file

【讨论】:

    猜你喜欢
    • 2020-02-14
    • 1970-01-01
    • 2013-06-17
    • 2012-01-09
    • 1970-01-01
    • 2013-08-01
    • 2017-07-19
    • 2019-07-30
    • 2011-06-09
    相关资源
    最近更新 更多