环境

环境

环境

  • Ubuntu 12.10
  • Apache 2.2.22

背景

我使用的是基于名称的虚拟主机。在设置的某个阶段,我将端口 5001 添加到虚拟主机列表中,并成功访问了 URL 中带有此端口的站点。后来,我从虚拟主机列表中删除了此端口,并选择基于 ServerAlias 指令并使用相同端口访问站点。列表现在如下所示:

    <VirtualHost *:80>
      ServerAdmin webmaster@example1
      DocumentRoot /home/example1/public_html
      Servername example1.org 
      ServerAlias *.example1.org
      ServerAlias example1.org 
    </VirtualHost>

    <VirtualHost *:80>
      ServerAdmin webmaster@example2
      DocumentRoot /home/example2/public_html
      ServerName example2.com
      ServerAlias *.example2.com
      ServerAlias example2.com
    </VirtualHost>

问题

尽管从虚拟主机列表中删除了端口 5001 并多次重新启动 Apache,访问网站 www.example2.com 仍会导致重定向到 www.example2.com:5001。我希望 Apache 仅根据 ServerAlias 知道要转到哪个根文件夹。但是,Apache 似乎保存了这个端口并将 URL 重定向到相同的 URL 加上端口 5001。

我尝试清除客户端上的缓存,也尝试从不同的设备访问该网站,但结果都一样。

问题

  1. Apache 保存以前的虚拟主机配置的原因有哪些?
  2. Apache 中是否有可以清除的缓存?

答案1

我不熟悉 wordpress。是否有任何配置可能认为它需要使用端口 5001?一些 Web 应用程序需要知道自己的“基本 URL”,并在适当的时候自动重定向到该 URL。

相关内容