mod_vhost_alias를 사용하는 동안 여러 개의 가상 호스트를 정의할 수 있습니까?

mod_vhost_alias를 사용하는 동안 여러 개의 가상 호스트를 정의할 수 있습니까?

나는 내 호스팅 공급자를 가리키는 모든 도메인에 대한 기본 서버 설정을 캡처하는 것을 허용하지 않기 위해 한동안 mod_vhost 별칭을 사용해 왔습니다.

이제 나는 이들 각각(assets.domain.xyz, domain.xyz)에 대한 하위 도메인에 대한 기능도 갖고 싶지만 평생 동안 두 가지를 모두 활성화할 수는 없는 것 같습니다.

<VirtualHost *:80>
    UseCanonicalName Off
    VirtualDocumentRoot "/www/%1.0.%-1.0/public"
    ServerName %1.0.%-1.0
    ServerAlias %1.0.%-1.0.*.xip.io

    <Directory />
        Options FollowSymLinks
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>

<VirtualHost *:80>
    UseCanonicalName Off
    VirtualDocumentRoot "/www/%2.0.%-1.0/assets"
    ServerName assets.%2.0.%-1.0
    ServerAlias assets.%2.0.%-1.0.*.xip.io
</VirtualHost>

어느 것이 첫 번째 작품이고 후자는 건너뜁니다.

이것이 가능합니까? 나는 새 도메인이 나를 가리키고 스크립트 작성을 피하려고 할 때마다 이것을 복제하지 않아도 되도록 하고 싶습니다.

편집하다 아래와 같은 두 가지 일반 매핑을 가질 수 있도록 얻으려고 합니다.

domain.dev        => /www/domain.dev/public
assets.domain.dev => /www/domain/assets

/public/assets을 갖는 것이 더 간단하다면 어쨌든 정적 콘텐츠만 제공하므로 만족할 것입니다.

답변1

내가 작동하게 하는 유일한 방법은 하위 도메인을 처리하기 위해 비동적 가상 호스트를 추가하는 것입니다.

    <VirtualHost *:80>
        ServerAlias %-2.0.%-1.0
        VirtualDocumentRoot /www/%-2.0.%-1.0/public

        <Directory />
            Options Indexes FollowSymLinks MultiViews
            AllowOverride All
            Order allow,deny
            Allow from all
        </Directory>
    </VirtualHost>

    <VirtualHost *:80>
        ServerAlias assets.*
        VirtualDocumentRoot /www/%-2.0.%-1.0/assets

        <Directory />
            Order deny,allow
            Allow from all
            AllowOverride None
            SetHandler default-handler
            php_flag engine Off
        </Directory>
    </VirtualHost>

적어도 자주 반복할 필요는 없기 때문에 지금은 이 작업을 수행할 것입니다.

관련 정보