Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

.htaccess не обрабатывает правила

Статус пользователя 3aB}{o3
сообщение 9.4.2013, 19:39
Сообщение #1


Стаж: 18 лет

Сообщений: 2145
Благодарностей: 825
Полезность: 521

Хочу накладывать watermark на картинки из определенной папки, но .htaccess не хочет обрабатывать правила, код ниже:
Код
RewriteEngine On
RewriteRule ^(.*)images/images/(.*(jpg|jpeg|gif|png))$ $1watermark.php?img=images/images/$2

watermark.php лежит в корне как и сама картинка watermark, если смотреть вот так:
Цитата
то все работает и знак накладывается на изображение.
Может кто знает как исправить ? Спасибо
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя 3aB}{o3
сообщение 11.4.2013, 15:22
Сообщение #2


Стаж: 18 лет

Сообщений: 2145
Благодарностей: 825
Полезность: 521

Что совсем не кто не может подсказать ?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
OriGinaL
сообщение 11.4.2013, 15:35
Сообщение #3
Стаж: 13 лет

Сообщений: 1796
Благодарностей: 434
Полезность: 0

через slimbox.js не пробовали?
Почитай вот тут

Отредактировал: OriGinaL2666, - 11.4.2013, 15:38
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя f1nik
сообщение 11.4.2013, 15:41
Сообщение #4


Иконка группы

Стаж: 15 лет

Сообщений: 1862
Благодарностей: 932
Полезность: 1010

Цитата(3aB}{o3 @ 9.4.2013, 19:39) *
Хочу накладывать watermark на картинки из определенной папки, но .htaccess не хочет обрабатывать правила, код ниже:
Код
RewriteEngine On
RewriteRule ^(.*)images/images/(.*(jpg|jpeg|gif|png))$ $1watermark.php?img=images/images/$2

watermark.php лежит в корне как и сама картинка watermark, если смотреть вот так:
то все работает и знак накладывается на изображение.
Может кто знает как исправить ? Спасибо


Да ксатти у тебя апач? А то тут видел как один посан с nginx пытался заставить работать .htaccess
А так же если и то и то в связке, а отдает статику nginx, то картинки до апача не дойдут вовсе...

Отредактировал: f1nik, - 11.4.2013, 15:48
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
OriGinaL
сообщение 11.4.2013, 15:43
Сообщение #5
Стаж: 13 лет

Сообщений: 1796
Благодарностей: 434
Полезность: 0

выше по ссылке который я дал есть как заставить обрабатывать htacces с помошью nginx
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя 3aB}{o3
сообщение 11.4.2013, 16:09
Сообщение #6


Стаж: 18 лет

Сообщений: 2145
Благодарностей: 825
Полезность: 521

Цитата(f1nik @ 11.4.2013, 17:41) *
Да ксатти у тебя апач? А то тут видел как один посан с nginx пытался заставить работать .htaccess
А так же если и то и то в связке, а отдает статику nginx, то картинки до апача не дойдут вовсе...


Связка, есть возможность заставить работать ?

f1nik, чёто я вас не пойму, а как же тогда вот это работает:
Цитата
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя f1nik
сообщение 11.4.2013, 16:11
Сообщение #7


Иконка группы

Стаж: 15 лет

Сообщений: 1862
Благодарностей: 932
Полезность: 1010

Цитата(3aB}{o3 @ 11.4.2013, 17:09) *
Связка, есть возможность заставить работать ?

f1nik, чёто я вас не пойму, а как же тогда вот это работает:


Настраивай nginx... и все будет работать)))
Статика именно им и обрабатывается... htacces гуляет мимо...


Вот тут почитай:
http://www.shadowxak.ru/articles/set-up-a-...vers-nginx.html

Отредактировал: f1nik, - 19.4.2013, 16:12
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя 3aB}{o3
сообщение 11.4.2013, 20:07
Сообщение #8


Стаж: 18 лет

Сообщений: 2145
Благодарностей: 825
Полезность: 521

Цитата(f1nik @ 11.4.2013, 18:11) *
Настраивай nginx... и все будет работать)))
Статика именно им и обрабатывается... htacces гуляет мимо...

Бреда я какого то написал

Вот тут почитай:
http://www.shadowxak.ru/articles/set-up-a-...vers-nginx.html


Коротко: nginx настроен для домена нормально, со всеми другими правилами он работает отлично:

domen1.conf
Код
server {
listen       40.38.01.82:80;  #IP и порт на котором слушает nginx
server_name     site.ru www.site.ru;  #указываем имена нашего сайта
server_name_in_redirect  off;
access_log  /var/log/nginx/domen1.access.log  main;
location / {
proxy_pass         http://127.0.0.1:8080/;  #указываем ip  и порт на котором теперь будет слушать Apache
proxy_redirect     off;
proxy_set_header   Host             $host;
proxy_set_header   X-Real-IP        $remote_addr;
proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
client_max_body_size       36m;
client_body_buffer_size    128k;
proxy_connect_timeout      90;
proxy_send_timeout         90;
proxy_read_timeout         90;
proxy_buffer_size          4k;
proxy_buffers              4 32k;
proxy_busy_buffers_size    64k;
proxy_temp_file_write_size 10m;
}

# Определяем местонахождение и расширения статичных файлов
location ~* ^.+\.(jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|wav|
bmp|rtf|js)$ {
root   /var/www/html/domen1;
index  index.html index.htm index.php;
}
}

Но всё равно спасибо

Отредактировал: 3aB}{o3, - 11.4.2013, 20:24
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя susoev90
сообщение 19.4.2013, 15:33
Сообщение #9
Стаж: 14 лет

Сообщений: 121
Благодарностей: 18
Полезность: < 0

Серёж, а что если использовать немного другое правило?

Вот такое: http://ipqi.info/?p=91
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя 3aB}{o3
сообщение 19.4.2013, 15:40
Сообщение #10


Стаж: 18 лет

Сообщений: 2145
Благодарностей: 825
Полезность: 521

Цитата(susoev90 @ 19.4.2013, 17:33) *
Серёж, а что если использовать немного другое правило?

Вот такое: http://ipqi.info/?p=91


Привет Ром, не фига не работает sad.gif
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя f1nik
сообщение 19.4.2013, 16:11
Сообщение #11


Иконка группы

Стаж: 15 лет

Сообщений: 1862
Благодарностей: 932
Полезность: 1010

Да блин ребят... Все уже обсудили... Ну что вы тут занимаетесь не пойми чем... 3aB}{o3, тебе же сказали что и как...

Попробую еще раз популярно объяснить:
Завхоз говорит что у него связка апач + нджинкс... По логике вещей кто понимает для чего это делается тот догадается что всю статику (к которым относятся и картинки) обрабатывает nginx... Дак вот вопрос какой к черту htacces? картинки отдает nginx вот и настраивай его конфиг, каким образом я уже давал ссылку...

Есть еще другой вариант через яваскрипт... в гугле поищи есть куча решений...


ЗАБУДЬ ПРО АПАЧ, в твоей ситуации он СОВСЕМ НЕ ПРИЧЕМ!!!
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя 3aB}{o3
сообщение 19.4.2013, 17:48
Сообщение #12


Стаж: 18 лет

Сообщений: 2145
Благодарностей: 825
Полезность: 521

Цитата(f1nik @ 19.4.2013, 18:11) *
Да блин ребят... Все уже обсудили... Ну что вы тут занимаетесь не пойми чем... 3aB}{o3, тебе же сказали что и как...

Попробую еще раз популярно объяснить:
Завхоз говорит что у него связка апач + нджинкс... По логике вещей кто понимает для чего это делается тот догадается что всю статику (к которым относятся и картинки) обрабатывает nginx... Дак вот вопрос какой к черту htacces? картинки отдает nginx вот и настраивай его конфиг, каким образом я уже давал ссылку...

Есть еще другой вариант через яваскрипт... в гугле поищи есть куча решений...


ЗАБУДЬ ПРО АПАЧ, в твоей ситуации он СОВСЕМ НЕ ПРИЧЕМ!!!


Да не работает то что пишут по той ссылке:
Код
location ~* /components/com_virtuemart/shop_image/product\/.* {
не, не понимаю, бред, я не хочу чтобы у меня nginx работал только на одну папку, хочу чтобы все картинки обрабатывал, а у меня на домене стоит форум и этих картинок в каждой папке, что мне теперь для каждой папки прописывать этот самый location? Спрашивается зачем ? когда у меня не плохо и вот это справляется:
Код
location ~* ^.+\.(jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|wav|
bmp|rtf|js)$ {
root   /var/www/html/domen1;
index  index.html index.htm index.php;
}

и по поводу забыть про .htaccess это не верно, работает связка если бы только nginx работал, то да я про него забыл бы

Отредактировал: 3aB}{o3, - 19.4.2013, 17:50
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя f1nik
сообщение 19.4.2013, 18:03
Сообщение #13


Иконка группы

Стаж: 15 лет

Сообщений: 1862
Благодарностей: 932
Полезность: 1010

Ну дак и не надо на папку делай на корень сраззу... Просто я пример привел как делать... А там уж сам додумывай))))

Про апач забудь я относительно реализации твоей задумки)))
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя 3aB}{o3
сообщение 19.4.2013, 19:07
Сообщение #14


Стаж: 18 лет

Сообщений: 2145
Благодарностей: 825
Полезность: 521

Цитата(f1nik @ 19.4.2013, 20:03) *
Ну дак и не надо на папку делай на корень сраззу... Просто я пример привел как делать... А там уж сам додумывай))))

Про апач забудь я относительно реализации твоей задумки)))


Ну как сделать то ? если знаете подскажите ! Вот основной конфиг nginx:
nginx.conf
Код
user  nginx;
worker_processes  2;
worker_rlimit_nofile 100000;

error_log   /var/log/nginx/error.log;
#error_log  /var/log/nginx/error.log  notice;
#error_log  /var/log/nginx/error.log  info;

pid        /var/run/nginx.pid;


events {
    worker_connections  1024;
    use epoll;
}


http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;

    sendfile        on;
    tcp_nopush      on;
    tcp_nodelay     on;
    server_tokens   off;
    gzip            on;
    gzip_static     on;
    gzip_comp_level 5;
    gzip_min_length 1024;
    keepalive_timeout  65;
    keepalive_requests 50;
    limit_rate 500k;
    limit_rate_after 1024k;
    lingering_close on;
    limit_conn_zone   $binary_remote_addr  zone=addr:10m;

    # Load config files from the /etc/nginx/conf.d directory
    include /etc/nginx/conf.d/*.conf;

    server {
        limit_conn addr 10;
        listen       80;
        server_name  _;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            root   /usr/share/nginx/html;
            index  index.html index.htm;
        }

        error_page  404              /404.html;

        location = /404.html {
            root   /usr/share/nginx/html;
        }

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   /usr/share/nginx/html;
        }

        # proxy the PHP scripts to Apache listening on 127.0.0.1:80
        #
        #location ~ \.php$ {
        #    proxy_pass   http://127.0.0.1;
        #}

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        #location ~ \.php$ {
        #    root           html;
        #    fastcgi_pass   127.0.0.1:9000;
        #    fastcgi_index  index.php;
        #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
        #    include        fastcgi_params;
        #}

        # deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one
        #
        #location ~ /\.ht {
        #    deny  all;
        #}
    }


    # another virtual host using mix of IP-, name-, and port-based configuration
    #
    #server {
    #    listen       8000;
    #    listen       somename:8080;
    #    server_name  somename  alias  another.alias;

    #    location / {
    #        root   html;
    #        index  index.html index.htm;
    #    }
    #}


    # HTTPS server
    #
    #server {
    #    listen       443;
    #    server_name  localhost;

    #    ssl                  on;
    #    ssl_certificate      cert.pem;
    #    ssl_certificate_key  cert.key;

    #    ssl_session_timeout  5m;

    #    ssl_protocols  SSLv2 SSLv3 TLSv1;
    #    ssl_ciphers  HIGH:!aNULL:!MD5;
    #    ssl_prefer_server_ciphers   on;

    #    location / {
    #        root   html;
    #        index  index.html index.htm;
    #    }
    #}

}

вот для домена:
site.ru.conf
Код
server {
listen     ;  #IP и порт на котором слушает nginx
server_name     site.ru www.site.ru;  #указываем имена нашего сайта
server_name_in_redirect  off;
access_log  /var/log/nginx/site.ru.access.log  main;
location / {
proxy_pass         http://127.0.0.1:8080/;  #указываем ip  и порт на котором теперь будет слушать Apache
proxy_redirect     off;
proxy_set_header   Host             $host;
proxy_set_header   X-Real-IP        $remote_addr;
proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
client_max_body_size       36m;
client_body_buffer_size    128k;
proxy_connect_timeout      90;
proxy_send_timeout         90;
proxy_read_timeout         90;
proxy_buffer_size          4k;
proxy_buffers              4 32k;
proxy_busy_buffers_size    64k;
proxy_temp_file_write_size 10m;
}

# Определяем местонахождение и расширения статичных файлов
location ~* ^.+\.(jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|wav|
bmp|rtf|js)$ {
root   /var/www/html/site.ru;
index  index.html index.htm index.php;
}
}


watermark.php лежит в корне домена:
watermark.php
Код
<?php
waterMark($_SERVER['DOCUMENT_ROOT'].$_SERVER['REQUEST_URI'], "watermark.png", "bottom=30,right=30");

function waterMark($original, $watermark, $placement = 'bottom=30,right=30', $destination = null) {
   $original = urldecode($original);
   $info_o = @getImageSize($original);
   if (!$info_o)
         return false;
   $info_w = @getImageSize($watermark);
   if (!$info_w)
         return false;

   list ($vertical, $horizontal) = split(',', $placement,2);
   list($vertical, $sy) = split('=', trim($vertical),2);
   list($horizontal, $sx) = split('=', trim($horizontal),2);

   switch (trim($vertical)) {
      case 'bottom':
         $y = $info_o[1] - $info_w[1] - (int)$sy;
         break;
      case 'middle':
         $y = ceil($info_o[1]/2) - ceil($info_w[1]/2) + (int)$sy;
         break;
      default:
         $y = (int)$sy;
         break;
      }

   switch (trim($horizontal)) {
      case 'right':
         $x = $info_o[0] - $info_w[0] - (int)$sx;
         break;
      case 'center':
         $x = ceil($info_o[0]/2) - ceil($info_w[0]/2) + (int)$sx;
         break;
      default:
         $x = (int)$sx;
         break;
      }

   header("Content-Type: ".$info_o['mime']);

   $original = @imageCreateFromString(file_get_contents($original));
   $watermark = @imageCreateFromString(file_get_contents($watermark));
   $out = imageCreateTrueColor($info_o[0],$info_o[1]);

   imageCopy($out, $original, 0, 0, 0, 0, $info_o[0], $info_o[1]);

//Тут задаем размер изображения в которые можно добавлять Watermark
// $info_o[0] > 250 - ширина изображения должна быть больше 250 px
// $info_o[1] > 250 - высота изображения должна быть больше 250 px

   if( ($info_o[0] > 250) && ($info_o[1] > 250) )
   {
   imageCopy($out, $watermark, $x, $y, 0, 0, $info_w[0], $info_w[1]);
   }

   switch ($info_o[2]) {
      case 1:
         imageGIF($out);
         break;
      case 2:
         imageJPEG($out);
         break;
      case 3:
         imagePNG($out);
         break;
         }

   imageDestroy($out);
   imageDestroy($original);
   imageDestroy($watermark);

   return true;
   }
?>


.htaccess который использую, лежит в папке с картинками, путь от корня домена /images/photo:
.htaccess
Код
RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} -f
    RewriteRule ^(.*)$ /watermark.php [T=application/x-httpd-php,L,QSA]


Отредактировал: 3aB}{o3, - 19.4.2013, 19:15
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Тема закрытаНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: