나는 추가했다.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 요청을 수행하지 않도록 스크립트를 변경해야 합니다.