디렉토리를 비밀번호로 보호하기 위해 .htaccess를 추가한 후 PHP 스크립트가 실패합니다.

디렉토리를 비밀번호로 보호하기 위해 .htaccess를 추가한 후 PHP 스크립트가 실패합니다.

나는 추가했다.htaccess그리고.htpasswd비밀번호로 보호하려면 해당 디렉토리로 이동하세요. 그 부분이 작동합니다.

AuthType Basic
AuthName "Password Protected Area"
AuthUserFile /path/.htpasswd
Require valid-user

그러나 이제 이 디렉토리 내의 PHP 스크립트는 실행되지 않습니다.

error.log는 다음을 보여줍니다:

failed to open stream: HTTP request failed! HTTP/1.1 401 Authorization Required

불평하는 스크립트의 줄은 다음과 같습니다.

$data = file("http://site/script1.php");
$data2 = file("http://site/script2.php");
$data3 = file("http://site/script3.php");

이 디렉토리에서 PHP 실행을 허용하려면 .htaccess 파일에 뭔가를 추가해야 합니까?

편집하다:

하...글쎄요. 문제를 해결했어요. 전체 디렉토리가 아닌 문제의 PHP 스크립트를 비밀번호로 보호했습니다.

 <Files "script.php">
  require valid-user
 </Files>

답변1

PHP 스크립트가 HTTP 요청을 통해 사이트에서 일부 페이지를 가져오려고 하면 이런 일이 발생합니다.

요청에 HTTP 인증 정보를 추가하거나 이러한 HTTP 요청을 수행하지 않도록 스크립트를 변경해야 합니다.

관련 정보