Javascript-форум (https://javascript.ru/forum/)
-   Серверные языки и технологии (https://javascript.ru/forum/server/)
-   -   как узнать откуда пришел запрос (https://javascript.ru/forum/server/64007-kak-uznat-otkuda-prishel-zapros.html)

psiklop 14.07.2016 02:58

как узнать откуда пришел запрос
 
как тут узнается откуда пришел запрос?
в теге img изображение, а при переходе по ссылке html страница
получил массив getallheaders() в php, но разницы не заметил

<img src="http://s019.radikal.ru/i600/1607/e1/85f3491e0b56t.jpg">
<a href="http://s019.radikal.ru/i600/1607/e1/85f3491e0b56t.jpg">ссылка</a>

psiklop 14.07.2016 03:16

хотя разница есть, сразу не заметил
при запросе из тега img браузеры не пишут в заголовке Accept что понимают html, вот так "text/html"

Botik21 14.07.2016 08:52

В данной случае никак.
С заголовком просто повезло, что разработчики браузера сделали именно так.

psiklop 14.07.2016 14:34

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

Botik21, я не думаю что это везение, совершенно нелогично, что браузер запрашивая ресурс для тега img будет писать что понимает html, бог с ним в этом случае

способ нормальный если браузер пишет что понимает html в заголовке выдать страницу, не пишет значит картинку, разве нет?

laimas 14.07.2016 15:26

psiklop,
какое отношение к src="http://s019.radikal.ru/i600/1607/e1/85f3491e0b56t.jpg" имеет РНР?

psiklop 15.07.2016 03:39

laimas, тут ответ генерирует скрипт php, mod rewrite перенаправляет все jpg на php скрипт

Rise, в моем примере ссылке в <img> и <a> совершенно одинаковые, а вообще "t" на радикале по моему просто добавляется к имени файла и создается превью(маленькая картинка)

psiklop 15.07.2016 03:41

а вообще проверил все работает

эта строка работает идеально во всех браузерах что я попробовал, определяет запрос из img или нет
if (strpos($_SERVER['HTTP_ACCEPT'], "text/html")!== false)

laimas 15.07.2016 05:12

Цитата:

Сообщение от psiklop
mod rewrite перенаправляет все jpg на php скрипт

Зачем?

psiklop 16.07.2016 21:41

laimas, потому что картинок на сервере не будет, их будет выдавать php скрипт
а вторая причина в самой теме, чтобы определить что выдать картинку либо страницу

rise, ссылки одинаковые и работает на радикале, если у тебя не работает значит браузер закешировал картинку
работает все четко в теге картинка, просто перейти - страничка
ссылки ОДИНАКОВЫЕ, вот так понятней будет ===

laimas 17.07.2016 04:26

Цитата:

Сообщение от psiklop
потому что картинок на сервере не будет, их будет выдавать php скрипт

И откуда же он их будет брать?


Часовой пояс GMT +3, время: 18:43.