当虚拟主机文件中没有端口时,Apache用端口重写URL

环境

  • Ubuntu 12.10
  • Apache 2.2.22

背景

我正在使用基于名称的虚拟主机。 在设置过程中,我添加了一个端口5001到虚拟主机列表,并成功地通过这个端口访问了这个网站。 我后来从虚拟主机列表中删除了这个,并且select了基于ServerAlias指令访问站点并使用相同的端口。 该列performance在看起来像这样:

<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> 

问题

尽pipe从虚拟主机列表中删除端口5001并重新启动Apache多次,但访问www.example2.com网站会导致redirect到www.example2.com:5001。 我想让Apache知道哪个根文件夹只能基于ServerAlias。 但是,似乎Apache正在保存这个端口,并将URLredirect到相同的URL加端口5001。

我已经尝试清除我的客户端上的caching,我已经尝试从不同的设备访问这个网站,所有的都有相同的结果。

  1. Apache会保存以前的虚拟主机configuration的原因是什么?
  2. 有没有可以在Apache中清除caching?

我不熟悉wordpress。 有没有可能相信它需要使用端口5001的configuration? 某些Web应用程序需要知道自己的“基本URL”,并在适当的时候自动redirect到该基础URL。