내가 사용하는 흥미로운 방법이 있습니다 : 체크 아웃 (및 업데이트)은 완전히 별개의 디렉토리 (완전히 별개의 컴퓨터)에서 수행되고 웹 서버가 rsync를 사용하여 코드를 복사합니다. rsync 명령 줄의 --exclude 규칙은 .svn (및 CVS) 디렉토리를 복사하지 않도록하며, --delete-excluded는 이전에 복사 된 경우에도 제거됩니다.
svn update와 rsync는 모두 증분 전송을하기 때문에 대형 사이트의 경우에도 상당히 빠릅니다. 또한 방화벽을 통해 저장소를 가질 수 있습니다. 유일한주의 사항은 서버에서 생성 된 파일이있는 모든 디렉토리 (예 : Drupal의 파일/디렉토리)를 rsync 대상 디렉토리 외부의 장소로 이동해야한다는 것입니다 (rsync는이 방법으로 모든 것을 덮어 씁니다). rsync 소스 디렉토리에 을 작성해야합니다.. rsync 소스 디렉토리는 버전이없는 다른 파일도 가질 수 있습니다 (컴퓨터 고유의 구성 파일과 동일). 내가 사용하는 rsync를 매개 변수의
전체 세트는 중복성을 위해, 나는 아직도 .ht을 방지하는 데비안의 기본 규칙에서 복사 액세스되는을 .svn 방지하기 위해 구성 규칙을 가지고, 심지어 다음
rsync -vv --rsh='ssh -l username' -rltzpy --exclude .svn/ --exclude CVS/ --exclude Attic/ --delete-after --delete-excluded --chmod=og-w,Fa-x
입니다 * (.htaccess, .htpasswd)에 액세스 할 수 없습니다.
나는 대략 403에 관하여 점을 이해한다. 개인적으로 (파일이 결코 제공되면 안되는 상황의이 종류에서), 나는 오히려 그들은 전화 번호부가 존재했었다조차 몰랐다. AliasMatch도 시도해 보겠습니다. 이것이 내가 Google에서 수집 한 것입니다. 더 나은 솔루션을 위해 항상 행복합니다. –
공유/가상 호스트에서이 작업을 수행하려는 경우 .htaccess 파일에서 작동하지 않습니다. httpd.conf 파일에 대한 액세스 권한이없는 경우 Monoxide의 대답을 사용하십시오. http://stackoverflow.com/questions/214886/#214887 – nickf
True. .htaccess 파일에서도 mod_rewrite를 사용할 수 없게 될 가능성이 있습니다. (서버가 허용되는 범위 내에서 다소 허용적인 경우) –