Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Apache

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: про картинки и rewrite mod
 
 автор: moonfox   (28.01.2008 в 10:53)   письмо автору
 
 

в хтакцесе имеем
RewriteEngine On
RewriteRule ^(.*)\.jpg$ lol.php

в lol.php
<?

if($_GET['p']=='1'){echo '<img src="3.jpg">';}else {echo 'недоступно';}
?>

вот обратилися к файлу
3.jpg?p=1

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

   
 
 автор: Loki   (28.01.2008 в 11:22)   письмо автору
 
   для: moonfox   (28.01.2008 в 10:53)
 

ваше правило не передает никаких параметров. просто вызывает файл lol.php

   
 
 автор: moonfox   (28.01.2008 в 11:33)   письмо автору
 
   для: Loki   (28.01.2008 в 11:22)
 

да
а какие параметры мне нужно передавать?

суть в том что прямое обращение к jpg файлу вызывает lol.php а он уже должен что-то
сделать...

происходит вставка тега с картинкой даже область занимает размеры картинки - но не отображаеться

в чем ошибка?

   
 
 автор: Loki   (28.01.2008 в 11:47)   письмо автору
 
   для: moonfox   (28.01.2008 в 11:33)
 

Например вот так:

RewriteEngine On
RewriteRule ^(.*)\.jpg$ lol.php?%{QUERY_STRING}

   
 
 автор: moonfox   (28.01.2008 в 12:05)   письмо автору
 
   для: Loki   (28.01.2008 в 11:47)
 

всеравно не отображаеться :(
в хтмл'е img src вызывает снова запрос к jpg файлу ....
может изза этого не работает?
что-то не так в lol.php?

   
 
 автор: Loki   (28.01.2008 в 12:10)   письмо автору
 
   для: moonfox   (28.01.2008 в 12:05)
 

ну все правильно. вы же хтмл выводите вместо картинки

   
 
 автор: moonfox   (28.01.2008 в 17:23)   письмо автору
 
   для: Loki   (28.01.2008 в 12:10)
 

как тогда организовать запрос?
подскажите пожалуйста

   
 
 автор: jbs   (29.01.2008 в 13:10)   письмо автору
 
   для: moonfox   (28.01.2008 в 17:23)
 

как-то так

RewriteEngine On 
RewriteRule ^(.*)\.jpg$ lol.php?p=$1


$1 будет содержать значение в скобках.

при запросе /1.jpg получите /lol.php?p=1
и ваш скрипт выведет <img src="3.jpg">

P.S. Вот блин!, совсем запутал!
Действительно, при запросе картинки зачем-то выводит хтмл а не саму картинку

а вобще, надо поточнее формулировать что вы хотите получить

   
 
 автор: moonfox   (30.01.2008 в 22:51)   письмо автору
 
   для: jbs   (29.01.2008 в 13:10)
 

я хочу чтобы пользователь когда писал в адресной строке путь к файлу картинке то он открывал мою страницу и в ней показывал картинку а не открывал ее как сам файл через браузер

   
 
 автор: jbs   (31.01.2008 в 23:48)   письмо автору
 
   для: moonfox   (30.01.2008 в 22:51)
 

ну тогда всё верно!, Ваш код прекрасно работает с моим реврайт`ом.
> когда писал в адресной строке путь к файлу картинке то он открывал мою страницу и в ней показывал картинку
при запросе /1.jpg выводит <img src="3.jpg">

ну а глядя на это: >вот обратилися к файлу 3.jpg?p=1
для получения результата <img src="3.jpg"> должен и работает вариант предложенный Loki.
можно ещё убрать ненужное, так: RewriteRule .*\.jpg$ lol.php?%{QUERY_STRING}

далее проверяйте пути, в данном случае lol.php и 3.jpg должны находится в одной папке.

   
 
 автор: moonfox   (01.02.2008 в 11:14)   письмо автору
 
   для: jbs   (31.01.2008 в 23:48)
 

извините но почему то у меня ничего не срабатывает :(
большая просьба могли бы вы приатачить сюда архив с этими двумя файлами хтакцесом и скриптом обработчиком?
спасибо

   
 
 автор: jbs   (01.02.2008 в 20:46)   письмо автору
 
   для: moonfox   (01.02.2008 в 11:14)
 

а Вы его вооще включили?
раcкоментируйте его в conf/httpd.conf
LoadModule rewrite_module modules/mod_rewrite.so

   
 
 автор: moonfox   (01.02.2008 в 21:45)   письмо автору
 
   для: jbs   (01.02.2008 в 20:46)
 

да модуль включен я тестю на сервере хостера
пробывал делать короткие ссылки вида pages/1/5
все нормально
а вот этот пример в теме этой - ни как не работает....

можно мне в атачь файлики? плиз

   
 
 автор: jbs   (01.02.2008 в 22:09)   письмо автору
 
   для: moonfox   (01.02.2008 в 21:45)
 

мляя, какой-же я ......

извини старик, мне лень было закинуть в папку файлик и назвать его 3,jpg

короче скрипт выводит <img src="..."> и что происходит?
браузер запрашивает .3.jpg и.... всё по новой реврайт`ит на lol.php

   
 
 автор: moonfox   (01.02.2008 в 22:41)   письмо автору
 
   для: jbs   (01.02.2008 в 22:09)
 

да)
я об этом думал.. в img src идет обращение к картинке и срабатывает lol.php заново...

как быть то..?

есть мысля написать условие при котором срабатывал бы lol.php

   
 
 автор: jbs   (02.02.2008 в 02:26)   письмо автору
 
   для: moonfox   (01.02.2008 в 22:41)
 

> я хочу чтобы пользователь когда писал в адресной строке путь к файлу картинке то он открывал мою страницу и в ней показывал картинку а не открывал ее как сам файл через браузер


RewriteEngine On
# если запрос jpg`a без параметров
RewriteCond %{QUERY_STRING} ^$ [NC]
# то редирект на lol.php
RewriteRule .+\.jpg$ lol.php



<?
  
echo '<p>Любишь порно? - люби и рекламу.</p>';
  echo 
'<img src="'.$_SERVER['REQUEST_URI'].'?p=1">';
?>


.htaccess и lol.php должны лежать в папке с картинками

оно?

   
 
 автор: moonfox   (02.02.2008 в 21:30)   письмо автору
 
   для: jbs   (02.02.2008 в 02:26)
 

спасибо за помощь!

картинка правда с путем img src 3.jpg?p=1 не отобразиться )
вот подсказали работающий вариант.. мне подходит.
только хтакцес
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^http://ardeya.com.ua/gg/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://ardeya.com.ua/gg/$ [NC]
RewriteRule .*\.(jpg|gif)$ http://ardeya.com.ua/gg/lol.php [R,NC]

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования