conf 파일에 여러 사이트에 대한 와일드카드가 포함되어 있습니까?

conf 파일에 여러 사이트에 대한 와일드카드가 포함되어 있습니까?

나는 별도의 데이터베이스를 사용하여 drupal 7에 50개의 사이트를 설정하고 centos 7의 터미널에서 이를 관리하고 있으며 모두 동일한 도메인 이름을 가지고 있으므로 사용자 정의 conf 파일에 모든 사이트를 나열하지 않는 방법이 있는지 궁금합니다. 다른 하위 도메인. /etc/httpd/conf.d/foo.conf에서 apache를 사용합니다. 한 코드 괄호에서 50개를 모두 정렬하는 방법이 있습니까? 각 디렉터리의 유일한 차이점은 번호라는 점을 고려하세요. 그래서 foo1.foo.com foo2.foo.com 등이 있습니다. foo1부터 foo50까지의 사이트가 있는 파일에서 이 작업을 50번 반복하는 대신:

<VirtualHost *:80>
ServerName foo1.foo.com
ServerAlias www.foo1.foo.com
ServerAdmin [email protected]
DocumentRoot "/var/www/html/foo1.foo.com"
<Directory /var/www/html/xxx.x.xxx.xxx/foo1.foo.com>
AllowOverride All
Allow from all
</Directory>
</VirtualHost>

답변1

나는 이것을 테스트하지 않았지만 다음과 같이 시도해 볼 수 있습니다.

<VirtualHost *:80>
   ServerName *.foo.com
   VirtualDocumentRoot "/var/www/html/%0"
   <Directory /var/www/html/%0>
     AllowOverride All
     Allow from all
   </Directory>
</VirtualHost>

%0매개변수는 주소의 전체 문자열을 나타냅니다. 예를 들어 누군가가 foo1.foo.com=> 에 간 경우가 있습니다 /var/www/foo1.foo.com. 아니면 누군가가 시도 foo2.foo.com하면 될 것입니다 /var/www/foo2.foo.com. 자세한 내용은 아파치 문서를 확인하세요.디렉터리 이름 보간 예.

관련 정보