하나의 '브레인'에 액세스하는 여러 사이트를 처리하는 방법은 무엇입니까?

StackOverflow https://stackoverflow.com/questions/1326112

문제

일반적으로 내 개발은 중소기업과 전자 상거래 사이트에만 적용되었습니다.

내 다음 프로젝트는 30개의 사이트를 포함할 것입니다. 하지만 두 사이트는 서로 약 95%의 공통점을 갖습니다.나는 그들이 변경 사항, 프레임워크 업데이트 등을 한 번만 롤아웃할 수 있다는 것을 의미하는 1개의 '브레인'을 갖기를 원합니다.

Stack Overflow 사이트 제품군(수퍼유저, stackoverflow, serverfault 등)이 이 작업을 수행하는지 궁금합니다.

내가 선택한 언어/플랫폼은 PHP 5.3, MySQL 5 및 Kohana Framework입니다.

두뇌는 다음과 같아야합니다

  • 모든 사이트를 처리할 수 있는 1개의 관리 시스템
  • 모든 템플릿은 두뇌에 존재하지만 제목, 로고 ​​등과 같은 자리 표시자가 있습니다.
  • 전역 템플릿에 대한 업데이트를 롤아웃할 수 있는 방법은 자동으로 다른 모든 사이트로 필터링됩니다.

나는 이것이 뇌에 많은 스트레스를 줄 것이라는 것을 알고 있으므로 서버 측 캐싱을 많이 사용해야 합니다.

각 도메인이 뇌에 액세스하도록 하려면 어떻게 해야 합니까? 예를 들면 다음과 같습니다.

http://www.mysite2.com/products/something

자동으로 액세스됨 http://www.mothership.com/mysite2/products/something

그리고 그것이 최선의 방법이겠습니까?어떤 팁이 있나요?나는 올바른 길을 가고 있습니까?

더 자세한 내용은 언제든지 문의해 주세요.

도움이 되었습니까?

해결책

이를 수행하는 가장 쉬운 방법은 가상 호스팅을 사용하는 것입니다.기본적으로 모든 사이트를 하나의 시스템에서 실행합니다.한 시스템에는 모든 사이트를 제공하는 Apache 구성이 있습니다.

사이트가 다른 것보다 더 유사한 경우 모든 사이트를 하나의 디렉토리로 지정하면 됩니다.PHP 파일은 자신이 제공하는 사이트를 감지할 수 있습니다.모양과 느낌을 처리하기 위해 각 사이트마다 다른 머리글과 바닥글을 제공할 수 있습니다.이 방법으로 특정 페이지를 제한할 수도 있습니다.

사이트가 유사한 것보다 더 다른 경우 각각 다른 디렉토리를 가리키고 각 디렉토리에 해당 사이트와 관련된 페이지가 있습니다.

공통 기능의 경우 mod_rewrite와 같은 기능을 사용하여 다른 사이트의 URL을 동일한 스크립트에 매핑하거나 공통 기능을 포함하거나 요구하는 각 위치에 PHP 스크립트를 가질 수 있습니다.

기본적으로 옵션이 많습니다.귀하의 목표는 사이트를 유지 관리하기 쉽게 만들고 코드 중복을 최소한으로 유지하는 것입니다.

요청에 따라 읽을 것을 제안했습니다.

다른 팁

Apache에서 다음을 사용하여 이를 달성할 수 있습니다. <VirtualHost> Directive.Apache 2.x에서 이를 수행하려면 다음을 편집하십시오. httpd.conf 그리고 이 줄의 주석 처리를 제거합니다(보통 파일 끝 부분에 있음). Include conf/extra/httpd-vhosts.conf.그런 다음 파일을 찾으십시오. httpd-vhosts.conf 그리고 입장 VirtualHosts 이 형식으로:

<VirtualHost 10.1.2.3>
DocumentRoot /home/site1
ServerName site1.com
</VirtualHost>

<VirtualHost 10.1.2.3>
DocumentRoot /home/site2
ServerName site2.com
</VirtualHost>

<VirtualHost 10.1.2.3>
DocumentRoot /home/site2
ServerName site3.com
</VirtualHost>
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top