2009-05-30 6 views
0

다음 코드는 내부 서버 오류를 발생시키고 이유를 확인할 수 없습니다. Mod 재 작성 규칙 건너 뛰기 서버 오류

RewriteEngine On 
SetEnv APPLICATION production 
RewriteCond %{ENV:APPLICATION} =production 
RewriteRule ^.*$ - [S=1] 
RewriteRule ^(.*)$ html/$1.html 

이해야 할 모든

는 URL을

/test 

을하고 무대 뒤에서

/html/test.html 

을 참조 한 설정이지만, 환경에 의해 설정된다 생산, 경우에만 the SetEnv

답변

1

아마도 내 mod 재 작성 녹슨지만, 만약 내가 그것을 이해, 그 반대로하고있는 것 같다 네가 말하는거야. 애플리케이션이 프로덕션 인 경우 URL을 다시 쓰지 않습니다 (규칙을 건너 뜁니다). 나는 내부 서버 오류를 일으킬만한 것을 보지 않고있다.

당신은 같은 것을 필요, 당신이 무슨 말을하는지 수행하십시오 여전히 문제가있는 경우

RewriteEngine On 
SetEnv APPLICATION production 
RewriteCond %{ENV:APPLICATION} !=production 
RewriteRule ^.*$ - [S=1] 
RewriteRule ^(.*)$ html/$1.html 

을, 내부 서버 오류에 가장 적합한 정보를 가지고 아파치 오류 로그를 확인 500

0

RewriteEngine On 
RewriteCond %{ENV:APPLICATION} =production 
RewriteRule ^(.*)$ html/$1.html 

이 또한 내가 피하기 위해 대신이 규칙을 사용하십시오 : 토드 가드너는 말했다 또는 중복 규칙을 제거하고 두 번째 규칙에 조건을 결합처럼

하나는 그것을 할 재귀 :

RewriteCond %{ENV:APPLICATION} =production 
RewriteRule !^html/ html%{REQUEST_URI}.html 
0

유용한 다시 쓰기를 사용하려면 다시 쓰기 로깅을 사용 설정하십시오.

RewriteLog rewrite_log 
ReWriteLogLevel 2 

자세한 정보를 위해 로그 수준을 조정하십시오.

0

당신은

RewriteCond %{ENV:APPLICATION} !="production" 
제대로 비교하는 문자열 주위에 따옴표를 넣어해야