Я добавил .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>
Если ваши PHP-скрипты пытаются получить некоторые страницы с вашего сайта через HTTP-запросы, это произойдет.
Вы должны изменить сценарии так, чтобы они добавляли информацию об аутентификации HTTP к запросам или чтобы они не выполняли эти HTTP-запросы.