htaccess перенаправляет просмотр необработанных изображений - PullRequest
1 голос
/ 01 апреля 2012

Я хочу перенаправить любое изображение, которое просматривается непосредственно на страницу обработчика:

, если http: // mysite.com/pics/filename.jpg (или www.) Находится в URL затем перенаправьте на http: // mysite.com/pics/index.php?img=filename.jpg (без www)

Но если изображение вызывается веб-страницей или мобильным html5-приложением в любом месте, оно должно быть обработано в обычном режиме.

Так что, если mypage.html содержит тег img с прямой фотографией, он будет показан на этой странице. Но если URL-адрес http: // mysite.com/pics/filename.jpg, он должен быть перенаправлен. Другими словами, если файл просматривается напрямую, он должен перенаправить на страницу оболочки, но если он уже находится на странице оболочки (где угодно), он не должен перенаправлять.

Я видел различный код перенаправления, но ни один, который ссылается на видимый URL для оператора if, поэтому я не знаю, как это сделать. А те, которые я нашел и попробовал, не работают, либо перенаправляют все запросы, либо ничего не делают

Спасибо!

1 Ответ

0 голосов
/ 01 апреля 2012

Это позаботится о том, чтобы люди связывали вас с изображениями на вашем сайте: -

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?mysite.com [NC]
RewriteRule ([^/]+)\.(jpg|jpeg|png|gif)$ pics/index.php?img=$1.$2 [NC,L,R]

Что касается вашего мобильного приложения HTML5, вам потребуется другой способ его идентификации на веб-сервере.Таким образом, вам нужно будет увидеть, что говорит реферер, когда запрашивает изображения.Вам должно быть довольно легко написать PHP-скрипт, который скажет вам об этом, тогда вам просто нужно добавить к приведенному выше коду, чтобы включить это.

Simon

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...