Форум русскоязычного сообщества Ubuntu


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: Конвертация .htaccess в правила NGINX  (Прочитано 2195 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Enkil-404

  • Автор темы
  • Любитель
  • *
  • Сообщений: 53
    • Просмотр профиля
Конвертация .htaccess в правила NGINX
« : 06 Февраля 2013, 10:31:39 »
Добрый день!
Подскажите, плз, как правильно напсиать данные правила из апачевского .htaccess под NGINX


Код:
RewriteEngine On

RewriteCond %{REQUEST_URI} (\.thumb.jpg)$  [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule .* thumb.php?f=%{REQUEST_URI} [L]

RewriteCond %{REQUEST_URI} (\.thumbq.jpg)$  [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule .* thumb.php?q=1&f=%{REQUEST_URI} [L]

ОС Ubuntu 10.04
нгинкс без апача


Спасибо!

Оффлайн shumtest

  • Активист
  • *
  • Сообщений: 731
  • Это вам просто кажется...
    • Просмотр профиля
    • Блог Шумомера

Оффлайн Enkil-404

  • Автор темы
  • Любитель
  • *
  • Сообщений: 53
    • Просмотр профиля
Re: Конвертация .htaccess в правила NGINX
« Ответ #2 : 06 Февраля 2013, 13:03:18 »
читал, не получается(((

Оффлайн Enkil-404

  • Автор темы
  • Любитель
  • *
  • Сообщений: 53
    • Просмотр профиля
Re: Конвертация .htaccess в правила NGINX
« Ответ #3 : 08 Февраля 2013, 08:10:43 »
Получилось переписать часть

вот это
RewriteCond %{REQUEST_URI} (\.thumb.jpg)$  [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule .* thumb.php?f=%{REQUEST_URI} [L]

удачно заменил на вот это
       location /files { # все это для данного каталога
                try_files $uri.thumb.jpg /files/thumb.php?f=$request_uri;
        }

но есть необходимость, что бы работали обе части, в частности для /files
и
RewriteCond %{REQUEST_URI} (\.thumb.jpg)$  [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule .* thumb.php?f=%{REQUEST_URI} [L]

и
RewriteCond %{REQUEST_URI} (\.thumbq.jpg)$  [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule .* thumb.php?q=1&f=%{REQUEST_URI} [L]

если сделать вот так
        location /files {
                try_files $uri.thumb.jpg /files/thumb.php?f=$request_uri;
                try_files $uri.thumbq.jpg /files/thumb.php?q=1&f=$request_uri;
        }

то получаю
Цитировать
# sudo service nginx restart
 * Restarting nginx nginx                                                                                                                                                                            nginx: [emerg] "try_files" directive is duplicate in /etc/nginx/conf.d/site1.conf:56
nginx: configuration file /etc/nginx/nginx.conf test failed

подскажите, плз, как быть? надо в одном каталоге/локейшене обрабатывать два изменения в зависимости от окончания uri

Спасибо!

Оффлайн shumtest

  • Активист
  • *
  • Сообщений: 731
  • Это вам просто кажется...
    • Просмотр профиля
    • Блог Шумомера
Re: Конвертация .htaccess в правила NGINX
« Ответ #4 : 08 Февраля 2013, 19:41:19 »
нужны раздельные локейшены для для каждого типа файлов.

хинт: локейшен это не обязательно папка. это может быть что угодно попадающее под регулярку. ((\.thumb.jpg)$ - это регулярка)

Оффлайн saymon21root

  • Участник
  • *
  • Сообщений: 166
    • Просмотр профиля
    • https://saymon21-root.pro
Re: Конвертация .htaccess в правила NGINX
« Ответ #5 : 09 Февраля 2013, 12:45:47 »
Может поможет http://winginx.ru/htaccess

 

Страница сгенерирована за 0.125 секунд. Запросов: 25.