Apache-2.2

當虛擬主機文件中沒有埠時,Apache 用埠重寫 URL

  • July 26, 2013

環境

  • Ubuntu 12.10
  • 阿帕奇 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 中清除的記憶體?

我不熟悉wordpress。是否有任何配置可能認為它需要使用埠 5001?一些 Web 應用程序需要知道它們自己的“基本 url”,並且會在適當的時候自動重定向到那個。

引用自:https://serverfault.com/questions/526579