Apache-2.2
為域和文件根目錄設置帶有萬用字元的虛擬主機別名 - 文件根目錄未正確解析
我對在這個問題中使用的正確術語只有一個模糊的概念,所以請隨時通過澄清它來幫助我。
我有一個虛擬主機設置。這個想法是我想要一個萬用字元將所有請求路由
root.TERM.lh
到/TERM/
文件根目錄。下面的設置可以很好地辨識域並相應地路由它們,但它不會將文件根目錄中的 %1 轉換為 TERM。例如,Apache 錯誤日誌告訴我,對於對 root.mywebsite.lh 的請求,它正在嘗試路由到
/Users/hollsk/Dev/websites/%1
,因此它將其解釋為文字字元串。我的語法不正確,還是我缺少某些模組?
NameVirtualHost * <VirtualHost *> ServerName root.%1.lh ServerAlias root.%1.lh DocumentRoot /Users/hollsk/Dev/websites/%1/ </VirtualHost>
我的語法有點不正確。
NameVirtualHost * <VirtualHost *> ServerName root.%2.lh ServerAlias root.%2.lh DocumentRoot /Users/hollsk/Dev/websites/%2/ </VirtualHost>
請注意,
%2
而不是%1
- 仍然不確定為什麼%1
按字面意思解釋(而不是 stringroot
,這是我所期望的),但在任何情況下更改為正確的句柄都可以解決問題。
這種配置風格需要使用附加模組,而不是核心虛擬主機指令。
在此處查看 VirtualDocumentRoot:http ://httpd.apache.org/docs/2.2/mod/mod_vhost_alias.html