在 Windows 上为较新的 Apache 版本使用较旧的配置时,禁止访问本地主机

问题描述 投票:0回答:1

前言:我已经查看了几乎所有与此问题相关的其他问题和答案。没有人有帮助。我相信这是因为我的具体情况。

以下配置是为

apache2.4.23
设计的,但是,我使用
2.4.54.2
(请注意,
[myDir]
是代码所在的位置,
[myLocalDomain]
是我必须放入的关联域名)
hosts
文件。此外,我使用的是 Windows 11)。

httpd-vhosts.conf

# Virtual Hosts
#
<VirtualHost *:80>
    ServerName localhost
    ServerAlias localhost
    DocumentRoot "[myDir]"
    <Directory "[myDir]">
    Options +Indexes +Includes +FollowSymLinks +MultiViews
        AllowOverride All
        Require local
    </Directory>
    </VirtualHost>
    <VirtualHost *:80>
        ServerName [myLocalDomain]
        DocumentRoot "[myDir]"
    <Directory />
        Options FollowSymLinks
        AllowOverride None
        Require all granted
    </Directory>
    <Directory "[myDir]">
        Options Indexes FollowSymLinks MultiViews
        AllowOverride None
        Require all granted
        Options +Indexes
    </Directory>
</VirtualHost>

此外,在我的

hosts
文件中,我必须将
127.0.0.1
链接到
[myLocalDomain]

该项目还有一个

.htaccess
文件,我“允许所有人:

RewriteEngine On

# secure htaccess file
<Files .htaccess>
    Allow From All
</Files>

# multiple file types
<FilesMatch ".(htaccess|htpasswd|ini|phps|fla|psd|log|sh|bak)$">
    Allow From All
</FilesMatch>

不幸的是,无论我如何尝试,当我尝试访问

http://127.0.0.1/
时,我总是收到“403:禁止”错误。我错过了什么吗?我理解 Apache 想要做什么,但无法准确指出问题出在哪里。

apache .htaccess
1个回答
0
投票

这可能是由于不同版本的 Apache 之间的配置语法或设置发生变化而导致的。您可以采取以下一些步骤来排除故障并可能解决问题:

检查错误日志:查看 Apache 错误日志,了解有关您遇到的特定错误的更多详细信息。错误日志通常位于 Apache 安装内的“logs”目录中。检查错误日志可以提供有关导致问题的原因的宝贵信息。

更新配置:如果您在较新版本的 Apache 中使用较旧的配置文件,则某些指令或设置可能已更改。查看您正在使用的 Apache 版本的官方文档并相应地更新您的配置文件。请务必注意任何已弃用或更改的指令。

检查语法错误:确保您的配置文件不包含任何语法错误。即使是一个小错误也可能导致访问问题。您可以使用

apachectl
命令和
-t
选项来测试配置文件的语法:

httpd -t

此命令将检查您的配置是否存在语法错误并报告任何问题。

检查访问控制:检查访问控制设置的配置。确保不存在阻止访问本地主机的限制。在配置文件中查找可能包含

Deny
Allow
指令的部分,并确保它们允许访问本地主机。

检查防火墙和防病毒软件:有时,防火墙或防病毒软件可能会阻止对本地主机的访问。确保您的安全软件不会干扰 Apache 提供内容的能力。

以提升的权限运行 Apache:如果您在 Windows 计算机上运行 Apache,请尝试以管理员身份运行它,以确保它具有绑定到端口和提供内容所需的权限。

验证端口冲突:检查是否有任何其他应用程序或服务可能使用同一端口(通常为 HTTP 端口 80)。这可能会导致冲突并阻止 Apache 正常工作。

重新启动 Apache:对配置进行任何更改后,请务必重新启动 Apache 以应用更改。

使用最小配置进行测试:创建一个仅包含基本指令的最小配置文件,以查看是否可以解决问题。如果是这样,您可以逐渐添加回其他配置设置来隔离问题。

寻求社区帮助:如果您仍然遇到问题,请考虑在 Apache 专用的论坛或邮件列表上发布您的具体配置和错误消息。其他用户可能也遇到过同样的问题并可以提供帮助。

通过执行这些步骤并解决任何配置问题或冲突,您应该能够解决 Windows 上的 Apache 服务器的“禁止访问本地主机”问题。

© www.soinside.com 2019 - 2024. All rights reserved.