2014-03-12 1 views
1

Drupal 7 사이트에 대한 액세스를 설정 중입니다. 이 사이트는 수많은 도메인에 응답하는 상자에 홀로 앉아 있으며 그 수가 늘어날 가능성이 큽니다. 내가하고 싶은 것은 드루팔 (Drupal에게 실제 도메인이 우리를 상자로 데려 갔는지에 관계없이 사이트를로드하라는 것입니다. 나머지 URL은 항상 동일합니다). 현재 대부분의 도메인에서 설치 페이지로 이동합니다.모든 URL에 Drupal 사이트로드

sites/ 디렉토리에 디렉토리 (심볼 링크)가 없기 때문에 문제가 발생합니다.

Nginx에서 대체 도메인을 통해 들어오는 요청을 다시 작성할 수는 있지만 응용 프로그램 수준 대답이 있는지 궁금합니다. 지금 당장은 정식 도메인이 아닌 다른 도메인으로 상자/사이트에 액세스하면 설치 페이지로 이동합니다.

내가 할 수 있는게 있습니까?

+1

멀티 사이트 설정과 비슷하게 들릴지, 그게 사실입니까? 그렇다면 sites/sites.php를 편집하여 임의의 수의 도메인을 단일 Drupal 설치에 매핑 할 수 있습니다. 이것이 다중 사이트 설정이 아니며 사이트 별 내용이 모두 sites/all에 있다면 아무 것도하지 않아도됩니다 (nginx에서 서버 이름/별칭 및 루트 설정으로 충분할 것입니다). 드루팔 (Drupal은 다중 사이트 설정이없는 한 들어오는 도메인 이름으로 아무 것도하지 않습니다. – Clive

+0

이것은 많은 도메인에 응답하는 하나의 사이트입니다. "stuff"는'sites/all'이 아닌 특정 사이트 디렉토리에 있습니다. 나는 우리의 전화 번호부를보기 위하여 상자에 의해 응답 된 어떤 요구를 필요로한다. 와일드 카드를 사용할 방법이 있습니까? 아마도 다음과 같을 것입니다 :'$ sites [ '*'] = 'mycanonicaldomain.com'? –

+0

흠 ... 글쎄, sites.php는 다른 어떤 것과 마찬가지로 해석되는 PHP 파일입니다. 왜 현재 요청 된 도메인을 테스트하지 않았고, 그것에 기반하여'$ sites' 배열을 동적으로 구축합니까? 그래도 작동하지 않는다면, 알리려면 ['conf_path'] (https://api.drupal.org/api/drupal/includes%21bootstrap.inc/function/conf_path/7)를 패치해야 할 것입니다 와일드 카드 숯불에 대해 (확실히 doable) – Clive

답변

0

Drupal 사이트를 "기본"사이트로 구성하지 않은 것으로 보입니다. "sites/default/settings.php"파일은 사이트/폴더에 더 나은 설정 요청 파일이없는 경우로드됩니다. 실제로 이것은 "와일드 카드"설정이므로 가장 좋은 해결책은 사이트 파일을 기본 폴더로 이동하는 것입니다. 자세한 내용은 multi-site documentation을 참조하십시오.

그렇게 할 수 없다면 sites.php를 재 작성하는 데 사용할 수 있지만 일치시킬 새 URL을 추가하려면 sites.php를 업데이트해야합니다. 약간의 바로 가기는하지만이 : 당신은 .COM, .NET, .ORG 등으로 끝나는 사이트에 대한 포괄 재 작성 역할을

$sites['com'] = 'default'; 
$sites['net'] = 'default'; 
$sites['org'] = 'default'; 
... 

로 재 작성의 무리를 추가 할 수 있습니다, 당신에게 많은 저장 (전부는 아니지만) 수동으로 다시 작성합니다.

Drupal을보다 느린 프로세스로 업데이트 할 것이므로 conf_path() 함수를 변경하는 것이 최종 해결책이 될 것입니다. (업데이트 후에 변경 사항을 다시 적용하는 것을 잊어 버리면 설정이 더 이상 작동하지 않습니다) .

관련 문제