존재하는 파일을 찾을 수 없기 때문에 Apache 재시작이 실패합니다.

존재하는 파일을 찾을 수 없기 때문에 Apache 재시작이 실패합니다.

서버를 다시 시작하지 않고도 다른 파일을 통해 리디렉션이 작동할 수 있도록 다음 코드 조각을 사용하여 웹 인스턴스 구성 파일을 구성했습니다.

RewriteMap redirects txt:/mnt/var/www/html/abc/content/abc/na/ac/config_en_us/redirects/redirects.txt
RewriteCond %{REQUEST_URI} ^(.*)$
RewriteCond ${redirects:%1} >""
RewriteRule ^(.*)$ ${redirects:%1} [R=301,NC,L]

코드 조각을 넣은 후 httpd를 다시 시작하려고 하면 Apache를 시작할 수 없습니다. 다른 서버에서도 동일한 코드를 실행할 수 있습니다. 파일도 생성되어 권한을 확인했습니다.

다음은 오류 내용입니다

/etc/httpd/conf.d/abc.conf 69행의 구문 오류: RewriteMap: 맵 리디렉션 파일을 찾을 수 없음: /mnt/var/www/html/abc/content/abc/na/ac/config_en_us/redirects /redirect .txt

드디어 서버를 시작할 수 있었지만 수정 사항이 올바르지 않았습니다. 이것이 제가하는 것입니다.

/etc/httpd/conf.d 경로에 동일한 이름을 가진 동일한 파일을 생성한 다음 원하는 경로로 이동한 후 Apache가 파일을 찾을 수 있었고 나타났습니다. 누구든지 무슨 일이 일어나고 있는지 이해하도록 도와줄 수 있습니까?

답변1

명확성을 위해 이 답변은 Fox의 의견에서 나온 것입니다.

"사용자 Apache가 실행 중이므로 파일 자체에는 읽기 권한이 필요하며 파일 경로의 모든 디렉터리에는 읽기 및 실행 권한이 필요합니다."


예.CentOS에는 파일이 있지만 /etc/http/conf/경로가 위와 같이 설정되지 않았습니다. 나는 그것을 /var/www/(이전에 올바르게 구성한)로 옮겼고 작동했습니다.

관련 정보