Virtualhost

使用 Apache2 重定向 VirtualHost 中的文件夾

  • October 20, 2011

我已經在一個小型家庭伺服器上設置了 Apache2,我正試圖讓傳輸通過它執行。我已經讓它工作得很好,但是我遇到了一個問題,我為傳輸虛擬主機設置的重定向也在主站點上工作。這將導致無法在主站點上託管任何其他 Web 應用程序。這是我的 http-vhosts.conf 文件,其中包含重定向:

NameVirtualHost *:80
<VirtualHost *:80>
   ServerName transmission.blah.fakedns.com
   ServerAlias transmission.blah.fakedns.com

   ProxyRequests Off

   ProxyPass /transmission http://127.0.0.1:9091/transmission
   ProxyPassReverse /transmission http://127.0.0.1:9091/transmission
   Redirect permanent / /transmission/web/

   <Location /transmission>
       Order Allow,Deny
       Allow from All
   </Location>
</VirtualHost>

我希望重定向只能在傳輸子域下工作。目前,如果我去 blah.fakedns.com/ 我將被重定向到 blah.fakedns.com/transmission/web/ 並且載入正常 - 但我不希望它這樣做。我上面的 vhosts 文件有問題嗎?

此外,帶有 mod_proxy 的反向代理也應該只適用於子域,所以我遇到了同樣的問題。

我知道到目前為止我一直在使用術語“子域”來指代子子域,但我已經將它全部連接到 DynDNS 帳戶,所以我只能添加新的子子域,這可能是一個問題?

提前感謝您的幫助!

您是否為伺服器名稱“blah.fakedns.com”定義了一個虛擬主機?

如果您沒有這樣做,只要主機名未在 Apache 中的任何位置定義,Apache 就會將第一個載入的虛擬主機作為“備份”虛擬主機。

這是有道理的,因為如果您沒有為要訪問的應用程序定義其他虛擬主機,Apache 將使用它載入的第一個虛擬主機為您提供服務(可能是關於傳輸的虛擬主機)

我希望這可以幫助你。

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