Долго мучался с этим htaccess, на лакал на denwer, всё работает, загружаю в на сайт все пропадает!
Что только не делал!
htaccess - вдоль и поперёк переписывал в тех поддержку хостинга звонил и писал!
Всё документацию по htaccess перечитал
Испробовал все способы:
http://forum.virtuemart.net/index.php?topic=53582.0;http://www.joomlaforum.ru/index.php?topic=35335.0;http://joomlaforum.ru/index.php/topic,53858.0.html;http://webkev.com/2009/09/26/watermark-dlya-virtuemart/С использованием lightbox (глупый и бессмысленный способ использовать только если для красоты так как если открыть фото в другом окне, она откроется без watermark и поисковики тоже видят фотки без watermark)
http://joomlaforum.ru/index.php/topic,50201.30.html По этому способ с htaccess самый реальный!
Но он у меня не в какую не работал! ещё и поддержка хостинга(RU-center) в тупик завела сказав что это все из за того что У меня на денвере apache 2 и у них используется apache 1.3, и по этому читай инструкцию Apache.
И всё таки я сделал!
Что нужно чтобы htaccess заработало:
первые 4 пункта стандартно всне предлагают проверить!
1. проверяем работу watermark.php (открыв в IE напрямую watermark.php) вписав вот сюда $original = urldecode($original); имя фотки на которую нужно наложить, если всё ок то PHP работает.
2. Проверяем AllowOverride All в httpd.conf
3. это GD в Расширениях модуля PHP.
3. Проверяем включен ли rewrite_module.
4. И самое интересное, из за чего и не работало у меня! Nginx (кэширование статики)
Nginx перехватывает обработку файлов (jpg|jpeg|gif|swf|png|ico|mp3|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|dat|avi|ppt|txt|tar|mid|midi|wav|bmp|rtf|wmv|mpeg|mpg|mp4|m4a|spx|ogx|ogv|oga|webm|weba|ogg|tbz|js) и по этому apache после этого не реагирует на эти файлы.
что можно сделать:
1) отключить Nginx.(не знаю где не пробовал, и думаю не стоит)
2) При загрузке картинок VirtueMart менять их расширение (например jpg на jpggg) чтобы Nginx их не обрабатывал.
3) Удалить нужное расширение из списка обрабатываемых (jpg) Nginx после этого apache будет их обрабатывать!
Применительно для RU-center, остальные хостинги не знаю:
1. В Управление сайтом переводим "Режим работы сайта" из Автоматический в Ручной (Apache создаёт httpd.conf.manual который можно настраивать в ручную)
2. После первого пункта Nginx тоже переводится в Ручное управление, в корне хостинга находим папку etc/nginx/ файл "имя сайта.ru.vhost.conf" вот в нём и есть строка (jpg|jpeg|gif|swf|png|ico|mp3|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|dat|avi|ppt|txt|tar|mid|midi|wav|bmp|rtf|wmv|mpeg|mpg|mp4|m4a|spx|ogx|ogv|oga|webm|weba|ogg|tbz|js)$
удаляем или правим расширения
3. Обязательно перезагружаем веб-сервер!
и еще забыл Nginx обрабатывает расширение в нижнем регистре (jpg), а если фотки все будут в верхнем (JPG) то не будет
это же касается и это строчки в htaccess
RewriteRule \.(gif|jpeg|jpg|JPG|png)$ watermark.php [L,QSA]
Надеюсь что кому нибудь помог, так как в интернете решения не нашел!
Если есть другие способы обхода Nginx пишите. интересно!