Я добавил .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");
Нужно ли мне что-то добавлять в файл .htaccess, чтобы разрешить выполнение PHP в этом каталоге?
РЕДАКТИРОВАТЬ:
ха... ну, я обошел эту проблему. Я просто защитил паролем нужный php-скрипт, а не весь каталог:
<Files "script.php">
require valid-user
</Files>
решение1
Это происходит, если ваши PHP-скрипты пытаются получить некоторые страницы с вашего сайта через HTTP-запросы.
Вам следует изменить скрипты таким образом, чтобы они добавляли в запросы информацию об аутентификации HTTP или не выполняли эти HTTP-запросы.