我想设置一个虚拟主机,它可以根据用于访问它的主机名动态处理所有请求。如果可以在DocumentRoot中使用%{HTTP_HOST},这可能正是我想要的:
<VirtualHost *:80>
ServerAdmin me@example.com
DocumentRoot /var/www/live/%{HTTP_HOST}/public
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/live/%{HTTP_HOST}/public>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
# Possible values include: debug, info, notice, warn, error, crit, alert, emerg.
LogLevel warn
ErrorLog /var/www/live/%{HTTP_HOST}/logs/error.log
CustomLog /var/www/live/%{HTTP_HOST}/logs/access.log combined
</VirtualHost>
...遗憾的是,DocumentRoot(Warning: DocumentRoot [/var/www/live/%{HTTP_HOST}/public] does not exist
)中不允许使用%{HTTP_HOST}。我怎么能实现我的目标呢?
更新:我想把一个全能的vhost指向一个目录,然后让.htaccess使用mod_rewrite来动态选择路径但是(说实话)我已经筋疲力尽了。我会在早上再试一次,但与此同时,如果有人有好主意,我很乐意听到他们!谢谢!
答案 0 :(得分:3)
Apache文档中解释了实现动态虚拟主机的官方方法:
答案 1 :(得分:3)
也许你可以尝试这个解决方案:"Apache: Dynamic Virtual Hosts"