2011-08-17 3 views
0

공유 호스팅 계획에 사이트를 설정하므로 Apache와 .htaccess 파일을 사용하고 있습니다. 나는 2 개의 RewriteRules를 정의했다. 두 규칙 모두 Apache를 실행하는 로컬 시스템에서 완벽하게 작동합니다.이 RewriteRules에서 500 오류가 발생하는 이유

첫 번째 규칙은/www가에/CSS/.CSS에 대한 요청을 다시 작성하는 것입니다/CSS/ .CSS 두 번째는 /www/index.php하기 위해 다른 모든 것을 다시 작성

CSS에 대한 첫 번째 규칙/JS 파일은 500 개의 오류를 발생시키는 파일이지만 이유를 파악할 수 없습니다. 나는이 규칙의 모든 다른 화신을 시도하고 항상 그들이 따라서 아파치가 어떤 시점에서 휴식하는 무한 재 루프, 500을 만드는 것이 같은 방식으로 규칙을 작성하기 때문에 500

RewriteEngine on 
RewriteBase/
RewriteRule ^(.*)\.(css|js) www/$1.$2 [L] 
RewriteRule ^(.*)$ www/index.php [L] 
+2

서비스 구성과 같은 시스템 관리 관련 질문은 http : // serverfault에 있습니다. .com. 그렇습니다. 많은 사람들이 여기에서 물어 오는 것을 볼 수 있습니다. 단지 그들을 움직일 수있는 사람이 충분하지 않기 때문입니다. –

답변

0

를 얻을 수있다 인터넷 서버 오류. 오류 로그를 확인하면 정확한 오류 메시지가 표시됩니다.

플래그는 반드시 "다시 작성 완료"를 의미하는 것은 아니며 단지 "이 반복에서 다시 작성 됨 - 처음부터 다시 시도하십시오"라는 의미입니다.

매우 유용한

읽을 : RewriteRule Last [L] flag not working?

이 문제를 해결하기 위해 - 이미 재 작성 규칙은 또 다시 재 작성되지 않도록 당신은 몇 가지 조건을 추가해야합니다. 이러한 규칙은 작업을 수행해야합니다 (가능한 해결책 중 하나는 실제 프로젝트가 어떻게 설정되어 있는가에 따라 다름).

RewriteEngine on 
RewriteBase/

RewriteCond %{REQUEST_URI} !^/www/ 
RewriteRule ^(.*)\.(css|js) www/$1.$2 [L] 

RewriteCond %{REQUEST_URI} !^/www/ 
RewriteRule ^(.*)$ www/index.php [L] 
+0

@ user897929 그럼 .. 내 규칙이 당신을 위해 일 했나요? – LazyOne

관련 문제