권한 거부 : /home/.htaccess pcfg_openfile : htaccess 파일을 확인할 수 없습니다


13

이 도메인은 오늘 아침에 작동했습니다. 이제 403 오류와 위의 메시지가 오류 로그에 표시됩니다. .htaccess 파일을 사용하고 있지 않지만 서버에서 일부 복사 작업을 수행하고 있으므로 실수로 도메인을 변경하지는 않았지만 실수로 변경되지 않았습니다. 어쨌든이 pcfg_openfile은 무엇입니까?

많은 Google 검색을 수행했지만 이러한 환경에 적합한 솔루션은 없습니다. 서버는 우분투 하디 헤론입니다.

답변:


19

웹 서버가 .htaccess를 찾고있는 디렉토리 (또는 상위 디렉토리 중 하나)에 대한 권한을 변경 했으므로 웹 서버는 더 이상 .htaccess 파일이 있는지 확인할 수 없습니다.

먼저 디렉토리에 대한 권한을 수정하십시오 (웹 서버 프로세스에 의해 rx가 필요하므로 dir을 그룹 쓰기 가능 여부에 따라 755 또는 775). 파일 시스템 루트 (예 : /)로 백업되는 모든 상위 디렉토리의 권한이 웹 서버에 의해 rx인지 확인해야합니다.

그런 다음 실제로 .htaccess 파일을 사용하지 않고 나중에 사용할 계획이없는 경우 (예 : 모든 구성을 httpd.conf / apache.conf에 배치하려는 경우) 아파치 구성에서 htaccess 파일을 비활성화하십시오.

현재 디렉토리 및 모든 상위 디렉토리에 .htaccess 파일이 존재하는지, 읽고, 구문 분석 하는지를 문서 루트까지 점검하면 성능이 약간 저하됩니다. 매우 작지만 요청이 많을 때 합산됩니다.


에 딱 맞다. somehome이 / home 디렉토리에 대한 권한을 변경하고 다른 모든 것을 망쳤습니다. 큰 감사합니다!
user19196

2

서버에서 .htaccess를 읽을 수없는 것이 확실하지 않은 경우 (0755 또는 .htacess 및 나머지 트리는 www-data 그룹에 있음) 상위 디렉토리 루트 만 검색하십시오. * not ****는 월드 실행 액세스 권한이 있습니다.

아파치가 파일을 찾으려면 트리를 검색해야합니다. root : root 인 디렉토리에 글로벌 실행 액세스 권한이없는 경우이를 수행 할 수 없습니다.

나는 이것을 몇 번 넘어 뜨렸다 .... :-)


"root : root 디렉토리에 글로벌 실행 액세스 권한이없는 경우이를 수행 할 수 없습니다." 항상 그런 것은 아닙니다. suPHP를 실행중인 경우 PHP가 파일 소유자로 실행 중입니다. 이론적으로 파일 소유 사용자로 전환하여 Apache의 액세스를 테스트하고 해당 페이지를 탐색 할 수 있는지 확인해야합니다.
Buttle Butkus
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.