Поправить .htaccess - водяной знак

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

irkmos

Создатель
Регистрация
7 Май 2007
Сообщения
48
Реакции
4
Ватермарк создается вот таким способом:
в папку с картинками кидается файл .htaccess вот такого содержания
DirectoryIndex index.php
<FilesMatch "\.(gif|jpg|png)$">
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^(.*)$ /watermark/_watermark.php [T=application/x-httpd-php,L,QSA]
</FilesMatch>
в корень сайта ложится папка watermark с самим скриптом _watermark.php накладывающим водяной знак на фото.
Путь к фотки такой: jpg/10/1.jpg - так работает на ура.
Подскажите, что нужно подправить в .htaccess чтобы ватермарк отображался на картинках если она имеет такой путь:
jpg/10/1.jpg?dummy=1913065439, где 1913065439 - не постоянное число.
 
не проще обойтись пхп скриптом?
 
Нет, можно в свойствах картинки посмотреть ее адрес и сохранить без ватермарка. В моем случае это не проканает, знак на фотке остается.
 
А разве по умолчанию он так работать не будет?

Если нет, то тут скорее всего не httaccess надо редактировать, а PHP файл, так не до конца проверка отлажена, не отсекаются параметры. В любом случае думаю лучше сначала глянуть в PHP.

Хотя не сомневаюсь что найдутся умельцы, которые только по htaccess'у могут сказать что именно надо изменить.
 
Проблема в PHP скрипте, т.к. с вашими правилами происходит редирект с любым QUERY_STRING. Если же вам строка запроса как раз мешает, то нужно сделать так:
Код:
<FilesMatch "\.(gif|jpg|png)$">
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^(.*)$ /watermark/_watermark.php? [T=application/x-httpd-php,L,QSA]
</FilesMatch>
 
Знак вопроса RewriteRule ^(.*)$ /watermark/_watermark.php? - проблему не решил.
 
Если хотите, чтобы проблему решили, то нужно больше конкретики: что за переменная dummy и зачем она? Лучше под хайд(желательно побольше) кинуть сам код скрипта.
 

Под хайдом два архива: один скрипт отвечающий за вывод фоток, второй watermark.
 
Других вариантов, кроме как убить строку запроса не нашёл:
Код:
<FilesMatch "\.(gif|jpg|png)$">
RewriteEngine On
RewriteCond %{QUERY_STRING} !^$
RewriteRule .* %{REQUEST_URI}? [R]
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^(.*)$ /watermark/_watermark.php [T=application/x-httpd-php,L,QSA]
</FilesMatch>
 
ИМХО, косяк должен быть в скрипте. Скорее всего неправильно берётся имя файла (параметры включаются в путь). К сожалению, посмотреть скрипт не могу, высокий хайд.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху