ฉันมีไฟล์กำหนดค่าต่อไปนี้ในเครื่อง Debian ของฉัน:
<VirtualHost *:80>
ServerAdmin me@domain.tld
VirtualDocumentRoot /var/workspace/www/%2_%3/%1
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/workspace/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
สิ่งที่ดีสำหรับระบบอัตโนมัติ - ฉันเพิ่งสร้างไดเรกทอรีในเส้นทางที่ระบุและโดเมนเพิ่งเริ่มทำงาน
แต่บางครั้งฉันต้องเปิดแอปที่มี docroots ที่อื่น (โดยทั่วไปคือ www dir หรืออย่างอื่น) ฉันจะระบุ VirtualHosts นี้และทำงาน VirtualHosts อัตโนมัติต่อไปได้อย่างไร
เมื่อฉันเพิ่มเช่นนี้:
<VirtualHost *:80>
ServerName www.phabricator.com.local
DocumentRoot /var/workspace/www/phabricator_com/www/webroot
RewriteEngine on
RewriteRule ^/rsrc/(.*) - [L,QSA]
RewriteRule ^/favicon.ico - [L,QSA]
RewriteRule ^(.*)$ /index.php?__path__=$1 [L,QSA]
SetEnv PHABRICATOR_ENV custom/socialbakers
</VirtualHost>
มันเส้นทางการร้องขอทั้งหมด/var/workspace/www/phabricator_com/www/webroot
และละเว้น vhosts อื่น ๆ (ดังกล่าวข้างต้น)
ทำไม?