Загрузка рисунка о скрытием реальной папки

Статус
В этой теме нельзя размещать новые ответы.

locker

Писатель
Регистрация
15 Дек 2008
Сообщения
6
Реакции
0
Стоит такая задача - я хочу, чтобы при обращении к Для просмотра ссылки Войди или Зарегистрируйся у меня бы загружался рисунок из Для просмотра ссылки Войди или Зарегистрируйся.

Как сделать, чтобы работало?

Парился, написал так

PHP:
RewriteCond %{HTTP_HOST} ^(.*)$ [NC]
RewriteRule ^foto/(.*)$ http://%1/imgs/%1/$1 [R=301,L]

В принципе все работает, но проблема в том, что если обращаться к картинке напрямую, он все равно укажет реальный адрес, а мне этого не хочется
 
а если попробовать добавить что то вроде RewriteRule ^%1/imgs/(!%1) - [F]
 
Не проканает...
После применения(!!!) любого правила (следует после него выход из списка или нет - не важно), производится снова проход с самого начала...
И получается, что виртуальным адресом производится преобразование в реальный, значит будет еще проход с самого начала, а при проходе реальный будет в запретку - итог вообще ничего не отобразится.

Скрыть реальное расположение картинок возможно только с использованием скриптов, которым можно передать параметры... а вот уже в скрипте делать обработку и преобразования, и потом выдавать картинку через себя...

Что-то типа:
RewriteCond %{HTTP_HOST} ^(.*)$ [NC]
RewriteRule ^foto/(.*)$ http://%1/imgs/img.php?arg=%1/$1 [R=301,L]

Если верить строке заголовка, там явно не Тифы лежат, а гифки/жепеги, а для "шлюзирования" их использовать 10 строк кода - мелочи.

ЗЫ. да и в принципе, а чего этого бояться? реальный адрес разве где-то засвечивается? если в коде страниц светится "подставной", то откуда мне как посетителю вообще узнать реальный? Брутфорсом что-ли пытаться подобрать???
 
Спасибо за ответ. ПРосто это для сетки делается и светить подпапки не хрчется просто
 
Перечитал на два раза пост, и кажется дошло в чем проблема.
Ты имеешь в виду, что при запросе в браузере Для просмотра ссылки Войди или Зарегистрируйся адрес меняется на реальный Для просмотра ссылки Войди или Зарегистрируйся, а ты не хотел бы этого. Есил так, то вопрос решаемый.

Все происходит от того, что ты делаешь внешний редирект, при этом всегда будет меняться адрес в строке браузера. Чтобы адрес не менялся, нужно делать внутренний редирект:
1. располагать картинки на том же домене, что и страницы и .htaccess
2. преобразование изменить вот так:
PHP:
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^(.*)$ [NC]
RewriteRule ^foto/(.*)$ imgs/%1/$1 [L]

Так картинка с адресом site.ru/foto/img.jpg будут браться из файла site.ru/imgs/site.ru/img.jpg

Только незабудь перед этим всем перекинуть по 301 с www на без www иначе %{HTTP_HOST} будет разная, как ты понимаешь.
 
Альтернатива...
В Для просмотра ссылки Войди или Зарегистрируйся нужно положить .htaccess со следующими диррективами:
PHP:
RemoveHandler .gif .jpg .png
AddType application/x-httpd-php .php .gif .jpg .png
RewriteEngine on
RewriteRule ^.htaccess$ - [F]
RewriteRule ^foto/(.*).gif$ img.php?image=$1.gif&type=gif
RewriteRule ^foto/(.*).jpg$ img.php?image=$1.jpg&type=jpg
RewriteRule ^foto/(.*).jpg$ img.php?image=$1.jpg&type=png
... а также нужно создать файл Для просмотра ссылки Войди или Зарегистрируйся следующего содержания:
PHP:
<?
$image=file_get_contents("imgs/".$_SERVER['HTTP_HOST']."/".$_GET['image']);
header("Content-type: image/".$_GET['type']);
echo $image;
?>
Все! Теперь любая картинка Для просмотра ссылки Войди или Зарегистрируйся.[gif|jpg|png] будет грузиться из Для просмотра ссылки Войди или Зарегистрируйся.[gif|jpg|png]
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху