2017-01-02 3 views
0

현재 내 .htaccess 파일에서이 코드를 사용하여 사이트의 유지 관리 페이지를 트리거합니다. 특정 디렉토리의 유지 관리 페이지 제외

<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteCond %{DOCUMENT_ROOT}/maintenance.html -f 
RewriteCond %{DOCUMENT_ROOT}/maintenance.enable -f 
RewriteCond %{SCRIPT_FILENAME} !maintenance.html 
RewriteRule ^.*$ /maintenance.html [R=503,L] 
ErrorDocument 503 /maintenance.html 
Header Set Cache-Control "max-age=0, no-store" 
</IfModule> 

어떻게 그렇게 난 아직도 내가 작업을 할 것 디렉토리에 액세스하고 내 친구가 액세스하고자하는 경우에는 단지 내 IP 주소 수 만들 것이다.

좀 검색을 수행하지만, 아직

건배의로

아무것도 발견하지 않았습니다
+0

좋아, 좋은 계획 같아. 어서가! (_ 또는 여기에 질문이 있었습니까 _) – arkascha

+0

@arkascha 예, 읽었다면 유지 관리 페이지가 올라간 동안 액세스 할 수 있도록 말하고 싶습니다. –

+0

작성했습니다. 그러나 그것은 1. 질문이 아니라 성명서 2. 그것은 여기에 질문으로 적합하지 않습니다. 이를 위해서 당신은 "나를 위해해라."라고 묻는 것뿐만 아니라, 자신의 과제를 해결하려는 시도를 보여줄 필요가있다. 우리는 무료 코딩 서비스가 아니라는 것을 알고 있습니다. 당신은 자신의 도구를 사용할 수 있어야합니다. 너 자신의 시도로 막혔다면, 여기에 특정 질문을 할 시간이다. 자신을 시작할 수 없거나 단순히 게으르지 않으면, 유료 프로그래머를 고용하여 자신을 위해 일하게하십시오. – arkascha

답변

0

난 당신이 단순히 이전에 유지 관리 모드의 당신의 처리에 일부 예외 규칙을 구현할 수있다라고 말하고 싶지만 :

<IfModule mod_rewrite.c> 
RewriteEngine On 

# immediately end all rewriting for specific IPV4 addresses 
RewriteCond %{REMOTE_ADDR} ^123\.123\.123\.123$ [OR] 
RewriteCond %{REMOTE_ADDR} ^321\.321\.321\.321$ 
RewriteRule^- [END] 

# for everyone else: check for maintenance mode 
RewriteCond %{DOCUMENT_ROOT}/maintenance.html -f 
RewriteCond %{DOCUMENT_ROOT}/maintenance.enable -f 
RewriteCond %{SCRIPT_FILENAME} !maintenance.html 
RewriteRule ^.*$ /maintenance.html [R=503,L] 
ErrorDocument 503 /maintenance.html 
Header Set Cache-Control "max-age=0, no-store" 
</IfModule> 

또는 대체 모드로 다시 쓰기 논리에 추가 조건을 추가 할 수 있습니다. 그러나 위의 내용을 읽고 유지하는 것이 더 쉽다고 생각합니다.

+0

불행히도 어떤 이유로 든 내게 준 코드를 사용할 때 내부 오류 500으로 바뀝니다 –

+0

그리고 http 서버 오류 로그 파일의 정확한 오류 메시지는 무엇입니까? – arkascha

+0

보고 한 후에는 로그 파일에 최근 오류가 없습니다. –