AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 930279
Accepted
TmCrafz
TmCrafz
Asked: 2018-09-11 09:23:20 +0800 CST2018-09-11 09:23:20 +0800 CST 2018-09-11 09:23:20 +0800 CST

更新 .htaccess 文件时出现错误 403(拒绝访问)

  • 772

我为我最近更新的一个网站使用了一个插件。由于我已更新,因此在打开插件的 magnalister.php 时总是收到拒绝访问消息(错误 403)。当我用旧文件替换新的 .htaccess 文件时,我没有问题。以下是文件的内容:

更新前:

<Files magnalister.php>
    Order Deny,Allow
    Allow from all
</Files>

<Files magnaCallback.php>
    Order Deny,Allow
    Allow from all
</Files>

更新后:

<Files magnalister.php>
    <IfModule !mod_authz_core.c>
        Order Deny,Allow
        Allow from all
    </IfModule>
    <IfModule mod_authz_core.c>
        Require all granted
    </IfModule>
</Files>
<Files magnaCallback.php>
    <IfModule !mod_authz_core.c>
        Order Deny,Allow
        Allow from all
    </IfModule>
    <IfModule mod_authz_core.c>
        Require all granted
    </IfModule>
</Files>

在 PHP 错误日志中,我得到以下信息:

[Wed Sep 12 00:25:05 2018] [access_compat:error] [pid 7437] [client ***] [host ***] AH01797: client denied by server configuration: /is/htdocs/***/www/testshop3/plugins/magnalister/magnalister.php

我正在使用 Apache/2.4.10。

更新版本出现403错误是什么原因?

php
  • 1 1 个回答
  • 2192 Views

1 个回答

  • Voted
  1. Best Answer
    MrWhite
    2018-09-13T07:03:28+08:002018-09-13T07:03:28+08:00

    你在哪里拒绝访问?这似乎是问题所在。我怀疑您仍然拒绝使用 Apache 配置中其他地方的“旧”Apache 2.2 指令进行访问,这具有优先权。

    您发布的所有指令仅允许访问,因此您的配置中的其他内容拒绝访问该文件。

    您已更新.htaccess配置以使用 Apache 2.4 的 mod_authz_core/host 模块。但是,在 Apache 2.4 上,如果您的配置的另一部分仍在使用旧Deny指令(Apache 2.4 中的 mod_access_compact 和 Apache 2.2 中的 mod_authz_host 的一部分),那么这些“旧”指令将优先于 Apache 2.4 中的“新”指令.htaccess,尽管您的配置中有明显的顺序,但访问仍将被拒绝。

    正如在从 2.2 升级到 2.4 的 Apache 文档中所述:

    ...混合新旧指令 [可以] 导致意想不到的结果。...因为 mod_access_compat 指令优先于 mod_authz_host ...

    因此,如果您仍在配置中的其他地方使用“旧”指令(拒绝访问),则需要更新这些指令以使用等效的 Apache 2.4 指令。

    您看到的错误似乎证实了这一点,该错误由 mod_access_compact 触发,而不是 mod_authz_core,正如您在 Apache 2.4 上所期望的那样。

    [2018 年 9 月 12 日星期三 00:25:05] [access_compat :error ] [pid 7437] [client ...] [host ...] AH01797:客户端被服务器配置拒绝:/is/htdocs/.../www /testshop3/plugins/magnalister/magnalister.php

    (旁白:你说你使用的是 Apache 2.4。你真的需要像你在做的那样保持与 Apache 2.2 的向后兼容性.htaccess吗?维护这两个配置只会更难维护,更容易出错。)

    • 1

相关问题

  • 用户特定的 Php.ini 当 php 作为模块运行时?

  • 使 php mail() 函数在 ubuntu-server 上工作的步骤是什么?

  • Web 服务器和数据库服务器位于完全不同的位置

  • PHP 作为 CGI 还是 Apache 模块?

  • 通过 VPN 连接什么是远程服务器 IP?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve