2009-11-19 3 views
0

오늘 아파치 2로 업그레이드해야했고 몇 달 동안 작동했던 규칙 세트가 작동하자 마자 작동이 멈췄습니다.Apache 2 업그레이드 .htaccess가 죽었습니다. 고칠 수 없습니다. 제발 도와주세요!

.htacess를 삭제하면 (.htacess) 서버가 "팬텀"규칙을 사용하는 것처럼 보이지만 .htacess를 완전히 무시하고있는 것으로 나타납니다.

IE : (! 전혀 .htacess) 사이트/재료/ .htacess와

이 사이트를 사용할 수 .htacess 404을 표시해야합니다 ...하지만 대신 사이트/stuff.php로 이동하지 않고/stuff/1/site/stuff.php에 가야합니까? var = 1 대신 site/stuff.php로 이동합니다.

도움이된다면, 우리를 미치게 만들 것입니다.

답변

4

나는 이것이 아파치 설정 문제라고 생각할 것이다.

기본 httpd.conf가 AllowOverride 지시어에 대한 기본값을 None으로 설정했을 가능성이 높습니다. 이는 성능과 보안을 향상시키는 제한적인 사용 권한 세트이지만 Apache는 .htaccess 파일을 완전히 무시합니다.

메인 Apache 구성 파일 또는 VirtualHost 지시어에서 서비스 디렉토리로 AllowOverride을 활성화해야합니다. 당신은 당신의 <VirtualHost> 또는 <Directory> 블록 내부에

AllowOverride All 

를 지정하여이 작업을 수행 할 수 있습니다. (주석에 응답)

편집 자세한 내용은없이

, 진단하기가 매우 어려울 것이다. 좀 더 자세한 정보를 제공 할 수 있다면 도움이 될 것입니다. 당신의 URL을 다시 작성되고 있다는 것을 보인다, 그래서 당신은 규칙이 적용지고 방식을 볼 수 mod_rewrite debugging 수 있도록 시도 할 수 있습니다 :

<IfModule mod_rewrite.c> 
    RewriteLog "/path/to/rewrite.log" 
    RewriteLogLevel 3 
</IfModule> 

2 편집 - MultiViews를

을의 다시 읽기 설명 후 당신의 문제는 MultiViews에 문제가있을 수 있다고 생각합니다. 내가 찾은 this thread과 매우 비슷하게 들립니다. <VirtualHost> 또는 <Directory>에서 MultiViews를 사용 중지하면 재 작성 규칙이 적용될 가능성이 높습니다.

+0

첫 번째 용의자로 반복적으로 확인하고 그 결과를 모두로 설정하면 문제가 계속 발생합니다. 우리는 이전 아파치로 롤백하는 것에 의지했습니다. 정말 이상합니다. 우리가 아파치 2의 새로운 기능 중 일부를 필요로하기 때문에 다른 사람들에게 도움이 될만한 제안이 있다면 –

+0

mod_rewrite 디버깅에 대해 약간의 추가가 필요할 것입니다. – zombat

+0

좀 더 파고 들면서 지금은 MultiViews를 의심하고 있습니다. 위의 편집을 참조하십시오. – zombat

관련 문제