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

rn0zuynd  于 2023-10-23  发布在  Apache
关注(0)|答案(1)|浏览(180)
  • 前言:我已经看了几乎所有与这个问题有关的其他问题和答案。没有人能帮上忙。我相信这是因为我的具体情况。

下面的配置是为apache2.4.23设计的,但是我使用的是2.4.54.2(请注意,[myDir]是代码所在的位置,[myLocalDomain]是我必须放在hosts文件中的关联域名。另外,我正在使用Windows 11)。
httpd-vhosts.conf

  1. # Virtual Hosts
  2. #
  3. <VirtualHost *:80>
  4. ServerName localhost
  5. ServerAlias localhost
  6. DocumentRoot "[myDir]"
  7. <Directory "[myDir]">
  8. Options +Indexes +Includes +FollowSymLinks +MultiViews
  9. AllowOverride All
  10. Require local
  11. </Directory>
  12. </VirtualHost>
  13. <VirtualHost *:80>
  14. ServerName [myLocalDomain]
  15. DocumentRoot "[myDir]"
  16. <Directory />
  17. Options FollowSymLinks
  18. AllowOverride None
  19. Require all granted
  20. </Directory>
  21. <Directory "[myDir]">
  22. Options Indexes FollowSymLinks MultiViews
  23. AllowOverride None
  24. Require all granted
  25. Options +Indexes
  26. </Directory>
  27. </VirtualHost>

此外,在我的hosts文件中,我必须将127.0.0.1链接到[myLocalDomain]
该项目也有一个.htaccess文件,其中我“允许从所有:

  1. RewriteEngine On
  2. # secure htaccess file
  3. <Files .htaccess>
  4. Allow From All
  5. </Files>
  6. # multiple file types
  7. <FilesMatch ".(htaccess|htpasswd|ini|phps|fla|psd|log|sh|bak)$">
  8. Allow From All
  9. </FilesMatch>

不幸的是,我一直得到“403:禁止”错误时,试图访问http://127.0.0.1/无论我尝试。我是不是漏了什么?我理解Apache的意图,但就是不能准确指出问题所在。

mfuanj7w

mfuanj7w1#

这可能是由于不同版本的Apache之间的配置语法或设置发生了变化。以下是您可以采取的一些步骤,以排除故障并可能解决问题:
检查错误提示:在Apache错误日志中查看有关您遇到的特定错误的详细信息。错误日志通常位于Apache安装中的“logs”目录中。检查错误日志可以提供有关导致问题的原因的有价值的信息。
更新配置:如果您在较新版本的Apache中使用较旧的配置文件,则可能某些指令或设置已更改。查看您正在使用的Apache版本的官方文档,并相应地更新配置文件。一定要注意任何不推荐使用或更改的指令。
检查语法错误:确保您的配置文件不包含任何语法错误。即使是一个小错误也可能导致访问问题。您可以使用apachectl命令和-t选项来测试配置文件的语法:

  1. httpd -t

此命令将检查您的配置是否存在语法错误并报告任何问题。
查看访问控制:检查访问控制设置的配置。确保没有阻止访问localhost的限制。在配置文件中查找可能包含DenyAllow指令的部分,并确保它们允许访问localhost。
检查防火墙和防病毒软件:有时,防火墙或防病毒软件可以阻止访问localhost。确保您的安全软件不会干扰Apache提供内容的能力。
以提升的权限运行Apache:如果您在Windows计算机上运行Apache,请尝试以管理员身份运行它,以确保它具有绑定到端口和提供内容所需的权限。
验证端口冲突:检查是否有任何其他应用程序或服务可能使用相同的端口(通常是HTTP的端口80)。这可能会导致冲突并阻止Apache正常工作。
重新启动Apache:对配置进行任何更改后,请确保重新启动Apache以应用更改。
使用最小配置进行测试:创建一个仅包含基本指令的最小配置文件,看看是否可以解决问题。如果是这样,您可以逐渐添加其他配置设置来隔离问题。
寻求社区帮助:如果您仍然遇到问题,请考虑在专门针对Apache的论坛或邮件列表上发布特定的配置和错误消息。其他用户可能遇到了同样的问题,可以提供帮助。
通过遵循这些步骤并解决任何配置问题或冲突,您应该能够解决Windows上Apache服务器的“禁止访问本地主机”问题。

展开查看全部

相关问题