.htaccess는 Apache에서 무시됩니다.

.htaccess는 Apache에서 무시됩니다.

내 가상 호스트 중 하나에 대한 .htaccess 파일이 내 프로덕션 서버에서 무시되는 것 같습니다. 이 파일은 동일한 서버의 다른 가상 호스트에 대해 동일한 작업 .htaccess 파일입니다. 또한 가상 호스트 정의는 개별 가상 호스트에 특정한 행을 제외하고는 다른 작업 가상 호스트와 동일합니다. 문제가 발생하면 index.php는 기본 URL을 올바르게 로드하지만 모든 다시 쓰기 지시문은 무시됩니다. 또한 .htaccess에 쓰레기를 넣어도 오류가 발생하지 않습니다.

사이트는 내 백업 서버에서 예상대로 실행됩니다. 웹 사이트와 Apache 구성 파일은 매시간 미러링되고(모드가 활성화된 경우 제외) 데이터베이스가 서버에 복사됩니다.

백업 및 프로덕션 서버에서 어떤 모드가 활성화되어 있는지 비교한 결과 mod_cgid가 프로덕션에서 활성화되지 않은 것으로 나타났습니다. 활성화하면 문제가 해결되는 것 같지만 일시적일 뿐입니다.

.htaccess에서 다시 쓰기를 선택적으로 제거하면 성공하지 못합니다. 프로덕션 서버를 다시 구축하는 것을 고려하고 있습니다. 어떤 추가 문제 해결이 권장됩니까? 알려진 수정 사항이 있나요?

답변1

이 문제는 내 프로덕션 서버의 VirtualHost 정의가 잘못 구성되어 발생했습니다. AllowOverride 지정의 디렉터리 섹션에 있는 디렉터리 경로의 철자가 잘못되었습니다. 이것이 index.php가 기본 URL을 올바르게 로드하고 재작성이 무시되는 이유입니다.

mod-cgid를 활성화하고 서버를 다시 시작하면 일시적으로 문제가 해결된 것처럼 보이지만 제가 착각한 것 같습니다. 문제를 해결하는 동안 DNS 설정을 조정하고 때로는 도메인을 백업 서버로 지정했으며 프로덕션 서버로 리디렉션하는 것을 무시했을 수도 있습니다. 아니면 브라우저 캐시 삭제를 소홀히 했을 수도 있습니다. 단계를 되돌릴 수 없으며 현재 프로덕션 환경에서 제대로 작동하고 있어 기쁩니다.

관련 정보