Apache VirtualHosts ยกเว้น


1

ฉันมีไฟล์กำหนดค่าต่อไปนี้ในเครื่อง 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 อื่น ๆ (ดังกล่าวข้างต้น)

ทำไม?

คำตอบ:


1

ตรวจสอบให้แน่ใจว่าได้เปิดใช้งานคำสั่งเพื่ออนุญาตโฮสต์เสมือนที่มีชื่อ ฉันหมายถึง:

ชื่อ VirtualHost *: 80

... ในไฟล์ /etc/httpd/conf/httpd.conf ของคุณ


เมื่อฉันเพิ่ม NameVirtualHost เฉพาะมันจะบอกว่า: [เตือน] NameVirtualHost *: 80 ไม่มี VirtualHosts ดังนั้นถ้าฉันเปลี่ยน VirtualHost พื้นฐานจาก 127.0.0.1:80 เป็น *: 80 มันยังคงส่งคำขอทั้งหมดไปยังคำขอแรก (www.phabricator.com.local)
Radek Simko

0

คุณแน่ใจหรือว่าคุณได้ให้ชื่อที่ถูกต้องหลังจากServerName? ฉันหมายความว่ามันจบลงด้วย.local; มันคืออะไรHostส่วนหัวคำขอ HTTP มี? หากมีHostส่วนหัวในคำขอ HTTP ไม่ตรงกับ vhosts แบบใช้ชื่อใด ๆ (หรือถ้าไม่มีHostส่วนหัว) vhost แรกจะถูกใช้

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.