2012-05-16 3 views
16

나는 내 전체 사이트를 업그레이드하려고합니다. 기술 신생 기업이 유지 관리 프로세스를 수행하는 방법에 대한 조언을 찾고 있습니다.대형 사이트는 어떻게 유지 관리 알림 페이지를 수행합니까?

나는 htaccess를 사용하려고 생각하고있다. 그러나 예를 들어 index.php에 액세스하는 사용자 만 maintenance.php로 리디렉션합니까? 사용자가 dashboard.php에 액세스하면 리디렉션이 발생하지 않습니다.

유지 관리 중에 index.php에 액세스해야합니다 (유일한 경우). 기술 벤처 기업에서 일하면 누구나 솔루션을 공유 할 수 있습니까? 고맙다.

+2

htaccess는 모든 요청을 maintenance.php로 리디렉션 할 수 있습니다. – Aziz

+13

솔루션을 제공 하겠지만 시작을 위해 작동하지 않습니다. – webbiedave

+5

@Slay PHP/.htaccess를 사용하여 사원을위한 액세스를 예약하면서 사이트를 유지 관리 모드로 전환하는 방법을 묻는 질문을 편집해야합니다. 기술 측면에만 집중하고 신생 업체 등에 관한 질문은 생략하십시오. – Sampson

답변

3

우리는 LightTPD를 웹 서버로 사용하고 있으며 이러한 일을하기 위해 "mod_magnet"을 사용하고 있습니다. Mod_magnet은 간단한 lua 스크립트를 사용하여 요청 처리를 할 수있게 해줍니다. 자동 작업을 통해 웹 서버 파일 시스템의 어딘가에 빈 파일을 만듭니다. lua 스크립트는 모든 요청에 ​​대해이 파일의 존재 여부를 검사하고 파일이 발견되면 정적 유지 관리 페이지를 반환합니다. 스크립트의 중요한 부분은 다음과 같습니다 : 당신은 여전히 ​​회사 네트워크에서, 예를 들어 웹 사이트를보실 수 있습니다 여전히 통해 특정 IP 주소를 할 수있는 구성, 거기에 또한 스크립트에서

-- 
-- maintenance page 
-- 
local config = { 
    ['maintenance'] = { 
     ['allow'] = { 
      '127.0.0.1' -- just an example IP address 
     } 
    } 
} 

if lighty.stat(lighty.env['physical.doc-root'] .. 'maintenance') then 
    tmp, _ = table.search(config.maintenance.allow, lighty.env['request.remote-ip']) 
    if not tmp then 
     -- maintenance modus 
     lighty.content = { 
      { filename = lighty.env['physical.doc-root'] .. 'error/maintenance.html' } 
     } 

     return 503 
    end 
end 

때 다른 사람 그냥 유지 보수 페이지를 가져와.

이 솔루션은 하나의 웹 서버 또는 많은 웹 서버에서 유지 관리 페이지가 필요한 경우 자동화가 필요하므로 중요하지 않습니다. 당신이 관심이 있다면

, 당신은 여기에 자세한 내용에 대해 "mod_magnet 라"를 찾을 수 있습니다

http://redmine.lighttpd.net/projects/lighttpd/wiki/Docs:ModMagnet

1

당신이 htaccess로 난 당신이 당신의 웹 서버로 아파치를 사용하고 있으리라 믿고있어 언급입니다. 다른 언급했듯이 .htaccess를 사용하거나 특정 사이트에 대해 VirtualHost conf를 편집 할 수 있습니다.

조나단 샘슨 (Jonathon Sampson)이 권장하는대로 mod_rewrite를 사용하는 것이 좋습니다. 그러나 GoogleBot과 같은 중요한 로봇이 503을보고 싶어하기 때문에 적절한 상태 코드를 보내도록주의해야합니다. 당신은 현재 유지 보수 중입니다.

this AskApache article에서 원하는 것을 정확하게 수행하기위한 명확한 지침이 있습니다.