Apache-2.2
虛擬主機的 DocumentRoot 上的萬用字元
我在 apache2 中將此配置用於萬用字元子域並且效果很好:
<VirtualHost *:80> DocumentRoot /var/www/ ServerName sumdomains.example.com ServerAlias *.example.com RewriteEngine On RewriteRule ^/(.*) /%{HTTP_HOST}/$1 </VirtualHost>
這意味著,對http://user.example.com/foo.html的請求將獲取文件**/var/www/user.example.com/foo.html**。
但我想請求http://user.example.com/foo.html從****/var/www/user/foo.html獲取文件。
我應該為此使用哪個萬用字元?
設置重寫規則抓取 sub.domain 並重定向到 /sub/requestedFile
RewriteCond %{HTTP_HOST} ^([a-zA-Z0-9-]+)\.example.com$ RewriteRule ^(.+) /%1/$1 [L,QSA]
或者將 VirtualDocumentRoot 設置為 %-1 代表子域。
<VirtualHost *:80> VirtualDocumentRoot /var/www/%-1 ServerName sumdomains.example.com ServerAlias *.example.com </VirtualHost>