Назад | Перейти на главную страницу

Странная проблема с htaccess и PHP, отклоняющий внутренние запросы

я добавил

Order Deny,Allow
Deny from all
allow from *my ip*

в мой файл htaccess, но теперь, когда я использую такую ​​функцию, как getimagesize, я получаю сообщение об ошибке при попытке получить данные из локального файла на сервере.

Ошибка: [function.getimagesize]: не удалось открыть поток: достигнут предел перенаправления

Когда я удаляю строки в htaccess, он работает. Я также попытался добавить «разрешить с локального хоста» и «разрешить с 127.0.0.1», но безрезультатно.

Поскольку он локальный, почему вы используете HTTP-запрос для получения деталей изображения? Локальный путь обойдет веб-сервер и сделает этот вопрос спорным. Это также было бы намного эффективнее, поскольку вы не создаете / не запрашиваете / не получаете / не разрушаете всю последовательность HTTP-запросов.

Вместо того

 file_get_contents('http://yourserver.com/url/to/image.jpg');

использовать

 file_get_contents('/file/system/path/to/image.jpg');

Ваш htaccess кажется правильным, но это не гарантирует, что Apache его соблюдает. Проверьте error_log Apache для получения дополнительных сведений о том, почему он запрещает доступ, а также о том, разрешено ли вам изменять эти настройки.

Если эти файлы являются локальными, вам, вероятно, следует указать локальный путь вместо использования HTTP.