我不小心劫持了我的本地主机

我不小心劫持了我的本地主机

开场本地主机在浏览器中,在一段时间前使用一些配置文件后指向一个本地网页(examplePage),我不知道如何恢复默认行为。

背景:

我的 Windows 7 机器上安装了 XAMPP,并在 上建立了一个网页c:/xampp/htdocs/examplePage

几周前,我执行了一项任务,让站点的根目录相对 URL (/resource) 正常工作,因此我尝试了一堆 apache/conf 文件,包括httpd.confhttpd-vhosts.conf,还弄乱了 Windowshosts文件。我一度放弃了,没有记录我到底做了什么,而且可能已经忘记了我所做的一些事情。

我的许多改变都源自这个 StackOverflow 帖子

我尝试过的方法

  • 我注释掉了我对hosts文件的添加
  • 我关闭了 XAMPP(这样希望能消除任何 apache 配置文件的影响)
  • DocumentRoot我无论如何都恢复到了原来的状态httpd.conf(xampp/htdocs)

本地主机仍然显示examplePage。即使打开了 xampp(我的恢复DocmentRoot没有生效)

有人知道我可能做了什么以及我该如何解决吗?

更新:已经解决,非常感谢大家

  • 在任务管理器中,有几个 httpd.exe (Apache HTTP Server) 实例。我结束了这些,然后打开 XAMPP,重新启动 Apache。
  • 我能找到的 .conf 文件中所有引用examplePage均已被注释掉或删除。我猜想旧版本由于某种原因仍然有效,手动结束 Apache 进程可以解决此问题。

有趣的是,这些进程为何运行仍是一个谜 - 我无法重现这种情况。我一定是偶然发现了某种 XAMPP 错误。

答案1

正如您提到的,您可以通过在浏览器中访问 localhost 来加载页面,这听起来好像 Apache 仍在运行。

进一步说,Apache 仍在运行,这很可能意味着您的 httpd.conf 的任何更改都尚未被读取或正在被使用。

几个步骤:

  1. 终止所有 apache 进程 - 您可以尝试通过停止 XAMPP 来执行此操作,但您可能需要使用任务管理器。在任务管理器中验证没有 httpd.exe 进程正在运行。
  2. 检查您的配置 - 检查别名、VirtualHosts、DocumentRoot、重写规则、.htaccess 等。这些都是可以确定在浏览器中访问 localhost 时加载哪个页面的项目
  3. 最后,重新启动 Apache(和/或 XAMPP) - 这将导致它重新读取所有 conf 文件。通常,当 httpd.conf 或其他 conf 文件更新时,必须重新启动 Apache。

答案2

尝试卸载 XAMMP 并删除 Apache 和 MySQL 服务,然后重新安装。

使用卸载程序,然后检查您的服务以确保 Apache 和 Mysql 不存在。如果存在,请打开 cmd 并运行以下命令删除服务sc delete ServiceName。再次检查服务,一旦您确认它们不再存在,请继续安装最新版本的 XAMMP。

答案3

在 Windows 中,在 hosts 文件中,将 localhost 值(ident 之后)更改为 127.0.0.1

相关内容