2012-02-22 3 views
0

필자는 흰색 라벨 웹 사이트 (html 파일, 이미지, js 등)를 나타내는 'web'디렉토리 아래에 파일이있는 디렉토리 구조를 가지고 있습니다. 나는 또한 20 개의 서로 다른 '브랜드'를 'web-1', 'web-2'등으로 부르며 특정 브랜드의 'web'에있는 파일을 덮어 씁니다.정적 웹 사이트를 화이트 라벨링하는 모범 사례?

아파치는 문서 루트 'website-i'에서 각 가상 사이트 i에 대한 파일을 찾도록 구성되어 있습니다. 각 '웹 사이트 -i'에 'web-i'와 같은 내용이 포함되도록하기 위해 빌드 스크립트는 '웹'을 모두 '웹 사이트 -i'로 복사 한 다음 'web-i'의 소스 파일. 이 방법

가 몇 가지 문제 :

  1. 그것은 파일을 복사하는 시간이 걸립니다.
  2. 많은 디스크 공간이 필요합니다.
  3. 새 브랜드를 추가하려면 스크립트를 추가해야합니다.

파일을 복제 할 필요가없는 방식으로이 작업을 수행하는 것이 가장 좋습니다. (Apache와 Linux의 경우)

+0

내가 생각한 두 가지 해결책은 다음과 같습니다. 1. 리디렉션 사용. 2. 복사하는 대신 모든 파일에 대한 링크 만들기. –

답변

0

글쎄, 가장 좋은 해결책은 매우 간단한 서버 측 코드이지만, 이미 그 코드를 거부했다고 가정 할 것입니다. 코드를 실행할 수있는 권한이 없기 때문일 것입니다. 서버 (비록 당신의 해킹이 설정이라면 그렇게 할 것입니다).

는 기본 루트에서 역할을하지만 파일이 적절한 디렉토리에 존재하는 경우 URL을 다시 만들 수 단지 구성에있는 솔루션 ...

RewriteCond /web-1/a_file -f 
RewriteRule ^(.*)$ /web/$1 

하지만 당신은해야 할 것 모든 브랜드의 모든 파일에 대해 파일이 호스트 이름과 동일한 dir에 저장되어 있지만 너무 복잡해지면 더 영리해질 수 있습니다. 진심으로

은 서버 측 코드는 직장 동료가 몇 주 전에 거의 정확히 같은 상황에 있었고, 그는 결국 PHP로 재 작성, 이상하게도 ...

이 갈 수있는 방법입니다 . 각 사이트는 데이터베이스의 행, 변경된 텍스트 및 이미지 URL을 추출하는 페이지, 아무 것도없는 경우 기본값으로 되돌아갑니다.

모든 것을 말한 것. 위에서 말했듯이 링크를 사용하면 문제 2를 해결할 수 있습니다. 아마도 1을 많이 쓰고 어떤 방법 으로든 3을 해결할 방법이 없다고 생각합니다.