环境
- 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。
我尝试清除客户端上的缓存,也尝试从不同的设备访问该网站,但结果都一样。
问题
- Apache 保存以前的虚拟主机配置的原因有哪些?
- Apache 中是否有可以清除的缓存?
答案1
我不熟悉 wordpress。是否有任何配置可能认为它需要使用端口 5001?一些 Web 应用程序需要知道自己的“基本 URL”,并在适当的时候自动重定向到该 URL。