Конфиг для Nginx

Правила раздела: faq.php?mode=okay
Модератор: Модераторы

natalya
natalya
Репутация: 1
Сообщения: 5
Зарегистрирован: 29.03.2016
С нами: 3 года 1 месяц

Сообщение #1 natalya » 29.03.2016, 14:24

Добрый день! Можете ли вы предоставить конфиг реврайтов для Nginx?

simplamarket M
Аватара
simplamarket M
Репутация: 1
Сообщения: 42
Зарегистрирован: 29.01.2016
С нами: 3 года 3 месяца
Сайт Skype

Сообщение #2 simplamarket » 29.03.2016, 15:12

natalya писал(а):Добрый день! Можете ли вы предоставить конфиг реврайтов для Nginx?
Добрый день, Вы имеете в виду настройку сервера ?
Если да, то вот эта статья может быть полезна http://nginx.org/ru/docs/http/ngx_http_rewrite_module.html
С уважением,
служба поддержки SimplaMarket.ru
Skype: simplamarket

natalya
natalya
Репутация: 1
Сообщения: 5
Зарегистрирован: 29.03.2016
С нами: 3 года 1 месяц

Сообщение #3 natalya » 10.04.2016, 13:32

Конфиг от симлы не подходит, выходит 500 ошибка. Помогите пожалуйста.

Добавлено спустя 1 час 42 минуты:
Ошибка 500 пропала, теперь косяк с фильтрами, выбрасывает 404 станицу.

simplamarket M
Аватара
simplamarket M
Репутация: 1
Сообщения: 42
Зарегистрирован: 29.01.2016
С нами: 3 года 3 месяца
Сайт Skype

Сообщение #4 simplamarket » 10.04.2016, 18:48

natalya писал(а):Конфиг от симлы не подходит, выходит 500 ошибка. Помогите пожалуйста.


Ошибка 500 пропала, теперь косяк с фильтрами, выбрасывает 404 станицу.

Проверьте включен ли у Вас на сервере mod_rewrite
он отвечает за htaccess
кроме того, посмотрите на права на сам файл htacces
С уважением,
служба поддержки SimplaMarket.ru
Skype: simplamarket

natalya
natalya
Репутация: 1
Сообщения: 5
Зарегистрирован: 29.03.2016
С нами: 3 года 1 месяц

Сообщение #5 natalya » 11.04.2016, 01:37

Установлен Nginx, поддержка htaccess отсутствует. Нужен rewrite для products

simplamarket M
Аватара
simplamarket M
Репутация: 1
Сообщения: 42
Зарегистрирован: 29.01.2016
С нами: 3 года 3 месяца
Сайт Skype

Сообщение #6 simplamarket » 11.04.2016, 06:18

natalya писал(а):Установлен Nginx, поддержка htaccess отсутствует. Нужен rewrite для products

У вас локальный сервер или удаленный? давайте свяжемся для того что бы прояснить эту ситуацию.
Напишите нам в скайп, так будет быстрей.
Скайп simplamarket
С уважением,
служба поддержки SimplaMarket.ru
Skype: simplamarket

zyxer M
zyxer M
Возраст: 27
Репутация: 17
Сообщения: 83
Зарегистрирован: 03.02.2016
С нами: 3 года 3 месяца

Сообщение #7 zyxer » 11.04.2016, 06:22

Было бы здорово увидеть phpinfo(). В идеале ссылку на файл который выводит (если сервак в сети).

natalya
natalya
Репутация: 1
Сообщения: 5
Зарегистрирован: 29.03.2016
С нами: 3 года 1 месяц

Сообщение #8 natalya » 12.04.2016, 15:14

Рабочий конфиг для Nginx

Код: Выделить всё

server {
   listen          80;
   server_name     site.ru www.site.ru;
   root /var/www/site.ru/html;
   index index.php;
   client_max_body_size 64M;

   access_log off;
   
   
   
   

   location = /favicon.ico {
         log_not_found off;
         access_log off;
   }

   location = /robots.txt {
         allow all;
         log_not_found off;
         access_log off;
   }

   location  \.(txt|log)$ {
         allow 192.168.0.0/16;
         deny all;
   }

   

      
      
      
      location /backend {
       
      
      index index.php;
      
      location ~ \.php$ {
               try_files $uri =404;
                fastcgi_split_path_info ^(.+\.php)(.*)$;
                fastcgi_pass   unix:/var/run/php5-fpm.sock;
                fastcgi_index  index.php;
                fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
                include fastcgi_params;
                fastcgi_ignore_client_abort on;
                fastcgi_param  SERVER_NAME $http_host;
        }
      
      
      
   }
   
   
      
      
      
      
      
   rewrite   ^/admin/?$  /backend last;
   
   location ~* ^/(api|cache|compiled|config|design/(.*)/html|payment|Smarty|view)/(.*) { deny all; }

   location / {
         try_files $uri @rewrite;
   }

   
   
   
   
   location @rewrite {
      rewrite ^/catalog/([^/]+)/?$   index.php?module=ProductsView&category=$1;
      rewrite ^/catalog/([^/]+)   index.php?module=ProductsView&category=$1;
      rewrite ^/catalog/([^/]+)/([^/]+)/?$   index.php?module=ProductsView&category=$1&brand=$2;
      rewrite ^/products/([^/]+)/?$   index.php?module=ProductView&product_url=$1;
      rewrite ^/products/?$   index.php?module=ProductsView;
      rewrite ^/all-products/?$   index.php?module=ProductsView;
      rewrite ^/brands/([^/]+)/?$   index.php?module=ProductsView&brand=$1;
      rewrite ^/brands/([^/]+)/page_([^/]+)/?$   index.php?module=ProductsView&brand=$1&page=$2;
      rewrite ^/search/([^/]+)/?$   index.php?module=ProductsView&keyword=$1;
      rewrite ^/search/?$   index.php?module=ProductsView;
      rewrite ^/blog/([^/]+)/?$   index.php?module=BlogView&url=$1;
      rewrite ^/blog/?$   index.php?module=BlogView;
      rewrite ^/wishlist/([^/]+)/?$   index.php?module=WishlistView&id=$2&lang_label=$1;
      rewrite ^/wishlist/?$   index.php?module=WishlistView&lang_label=$1;
      rewrite ^/wishlist/delete/?$   index.php?module=WishlistView&id=$1&action=delete;
      rewrite ^/comparison/?$   index.php?module=ComparisonView;
      rewrite ^/cart/?$   index.php?module=CartView;
      rewrite ^/cart/([^/]+)/?$   index.php?module=CartView&add_variant=$1;
      rewrite ^/cart/remove/([^/]+)/?$   index.php?module=CartView&delete_variant=$1;
      rewrite ^/order/([^/]+)/?$   index.php?module=OrderView&url=$1;
      rewrite ^/order/?$   index.php?module=OrderView;
      rewrite ^/user/login/?$   index.php?module=LoginView;
      rewrite ^/user/register/?$   index.php?module=RegisterView;
      rewrite ^/user/logout/?$   index.php?module=LoginView&action=logout;
      rewrite ^/user/password_remind/?$   index.php?module=LoginView&action=password_remind;
      rewrite ^/user/password_remind/([0-9a-z]+)/?$   index.php?module=LoginView&action=password_remind&code=$1;
      rewrite ^/user/?$   index.php?module=UserView;
      rewrite ^/sitemap.xml?$   sitemap.php last;
      rewrite ^/yandex.xml?$   yandex.php last;
      rewrite ^/contact/?$   index.php?module=FeedbackView;
      rewrite ^/order/([^/]+)/([^/]+)/?$   index.php?module=OrderView&url=$1&file=$2;
      if (!-f $request_filename){
         set $rule_26 1$rule_26;
      }
      if (!-d $request_filename){
         set $rule_26 2$rule_26;
      }
      if ($rule_26 = "21"){
         rewrite ^/([^/]+)/?$ /index.php?module=PageView&page_url=$1;
      }
      rewrite ^/?$ /index.php?module=MainView&page_url=;
      
      rewrite ^ /index.php;
   }

   location ~ \.php$ {
                try_files $uri =404;
                fastcgi_split_path_info ^(.+\.php)(.*)$;
                fastcgi_pass   unix:/var/run/php5-fpm.sock;
                fastcgi_index  index.php;
                fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
                include fastcgi_params;
                fastcgi_ignore_client_abort on;
                fastcgi_param  SERVER_NAME $http_host;
        }

   location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
if (!-e $request_filename){
rewrite ^/files/products/(.+) /resize/resize.php?file=$1&token=$query_string;
}
}
   
   
   
}


В папке /backend/ajax удалить index.php и добавить во все файлы

Код: Выделить всё

session_start();
    chdir('../../');
   require_once('api/Okay.php');
   $okay = new Okay();

simplamarket M
Аватара
simplamarket M
Репутация: 1
Сообщения: 42
Зарегистрирован: 29.01.2016
С нами: 3 года 3 месяца
Сайт Skype

Сообщение #9 simplamarket » 13.04.2016, 06:08

natalya писал(а):Рабочий конфиг для Nginx

Код: Выделить всё

server {
   listen          80;
   server_name     site.ru www.site.ru;
   root /var/www/site.ru/html;
   index index.php;
   client_max_body_size 64M;

   access_log off;
   
   
   
   

   location = /favicon.ico {
         log_not_found off;
         access_log off;
   }

   location = /robots.txt {
         allow all;
         log_not_found off;
         access_log off;
   }

   location  \.(txt|log)$ {
         allow 192.168.0.0/16;
         deny all;
   }

   

      
      
      
      location /backend {
       
      
      index index.php;
      
      location ~ \.php$ {
               try_files $uri =404;
                fastcgi_split_path_info ^(.+\.php)(.*)$;
                fastcgi_pass   unix:/var/run/php5-fpm.sock;
                fastcgi_index  index.php;
                fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
                include fastcgi_params;
                fastcgi_ignore_client_abort on;
                fastcgi_param  SERVER_NAME $http_host;
        }
      
      
      
   }
   
   
      
      
      
      
      
   rewrite   ^/admin/?$  /backend last;
   
   location ~* ^/(api|cache|compiled|config|design/(.*)/html|payment|Smarty|view)/(.*) { deny all; }

   location / {
         try_files $uri @rewrite;
   }

   
   
   
   
   location @rewrite {
      rewrite ^/catalog/([^/]+)/?$   index.php?module=ProductsView&category=$1;
      rewrite ^/catalog/([^/]+)   index.php?module=ProductsView&category=$1;
      rewrite ^/catalog/([^/]+)/([^/]+)/?$   index.php?module=ProductsView&category=$1&brand=$2;
      rewrite ^/products/([^/]+)/?$   index.php?module=ProductView&product_url=$1;
      rewrite ^/products/?$   index.php?module=ProductsView;
      rewrite ^/all-products/?$   index.php?module=ProductsView;
      rewrite ^/brands/([^/]+)/?$   index.php?module=ProductsView&brand=$1;
      rewrite ^/brands/([^/]+)/page_([^/]+)/?$   index.php?module=ProductsView&brand=$1&page=$2;
      rewrite ^/search/([^/]+)/?$   index.php?module=ProductsView&keyword=$1;
      rewrite ^/search/?$   index.php?module=ProductsView;
      rewrite ^/blog/([^/]+)/?$   index.php?module=BlogView&url=$1;
      rewrite ^/blog/?$   index.php?module=BlogView;
      rewrite ^/wishlist/([^/]+)/?$   index.php?module=WishlistView&id=$2&lang_label=$1;
      rewrite ^/wishlist/?$   index.php?module=WishlistView&lang_label=$1;
      rewrite ^/wishlist/delete/?$   index.php?module=WishlistView&id=$1&action=delete;
      rewrite ^/comparison/?$   index.php?module=ComparisonView;
      rewrite ^/cart/?$   index.php?module=CartView;
      rewrite ^/cart/([^/]+)/?$   index.php?module=CartView&add_variant=$1;
      rewrite ^/cart/remove/([^/]+)/?$   index.php?module=CartView&delete_variant=$1;
      rewrite ^/order/([^/]+)/?$   index.php?module=OrderView&url=$1;
      rewrite ^/order/?$   index.php?module=OrderView;
      rewrite ^/user/login/?$   index.php?module=LoginView;
      rewrite ^/user/register/?$   index.php?module=RegisterView;
      rewrite ^/user/logout/?$   index.php?module=LoginView&action=logout;
      rewrite ^/user/password_remind/?$   index.php?module=LoginView&action=password_remind;
      rewrite ^/user/password_remind/([0-9a-z]+)/?$   index.php?module=LoginView&action=password_remind&code=$1;
      rewrite ^/user/?$   index.php?module=UserView;
      rewrite ^/sitemap.xml?$   sitemap.php last;
      rewrite ^/yandex.xml?$   yandex.php last;
      rewrite ^/contact/?$   index.php?module=FeedbackView;
      rewrite ^/order/([^/]+)/([^/]+)/?$   index.php?module=OrderView&url=$1&file=$2;
      if (!-f $request_filename){
         set $rule_26 1$rule_26;
      }
      if (!-d $request_filename){
         set $rule_26 2$rule_26;
      }
      if ($rule_26 = "21"){
         rewrite ^/([^/]+)/?$ /index.php?module=PageView&page_url=$1;
      }
      rewrite ^/?$ /index.php?module=MainView&page_url=;
      
      rewrite ^ /index.php;
   }

   location ~ \.php$ {
                try_files $uri =404;
                fastcgi_split_path_info ^(.+\.php)(.*)$;
                fastcgi_pass   unix:/var/run/php5-fpm.sock;
                fastcgi_index  index.php;
                fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
                include fastcgi_params;
                fastcgi_ignore_client_abort on;
                fastcgi_param  SERVER_NAME $http_host;
        }

   location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
if (!-e $request_filename){
rewrite ^/files/products/(.+) /resize/resize.php?file=$1&token=$query_string;
}
}
   
   
   
}


В папке /backend/ajax удалить index.php и добавить во все файлы

Код: Выделить всё

session_start();
    chdir('../../');
   require_once('api/Okay.php');
   $okay = new Okay();


Большое спасибо! Надо будет тестировать
С уважением,
служба поддержки SimplaMarket.ru
Skype: simplamarket

therion.kiev
therion.kiev
Репутация: 2
Сообщения: 7
Зарегистрирован: 06.07.2016
С нами: 2 года 10 месяцев

Сообщение #10 therion.kiev » 21.07.2016, 18:47

Поправка для ресайза картинок (то что выше у меня не работало)
******.conf:

Код: Выделить всё

        location ~* ^.+\.(png|jpg|jpeg|gif)$ {
                if (!-e $request_filename){
                rewrite ^/files/(.+)/(.*)$ /resize/resize.php?object=$1&file=$2&token=$query_string;
                }
        }

anton_slim
anton_slim

Сообщение #11 anton_slim » 10.10.2017, 22:01

natalya писал(а):Рабочий конфиг для Nginx

В папке /backend/ajax удалить index.php и добавить во все файлы

Код: Выделить всё

session_start();
    chdir('../../');
   require_once('api/Okay.php');
   $okay = new Okay();

Нахрена так делать ? Достаточно в конфиг дописать

Код: Выделить всё

   rewrite ^/backend/ajax/([^/]+)\.php$ /backend/ajax/index.php?file=$1 last;


и не надо ничего править в php файлах, проверил работает...

Slik
Slik
Репутация: 0
Сообщения: 11
Зарегистрирован: 15.08.2017
С нами: 1 год 9 месяцев

Сообщение #12 Slik » 24.01.2018, 11:44

Добрый день.

Можете выложить реально рабочий конфиг для Nginx.

Тот что выше не совсем корректно отрабатывает.

Версия ПО

Код: Выделить всё

nginx version: nginx/1.12.2


Код: Выделить всё

 php -v
PHP 5.6.32 (cli) (built: Jan 23 2018 16:06:32)
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
    with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2016, by Zend Technologies

WarmLab
WarmLab
Репутация: 0
Сообщения: 3
Зарегистрирован: 02.04.2019
С нами: 1 месяц 25 дней

Сообщение #13 WarmLab » 02.04.2019, 01:14

Добрый день, а можно новый конфиг выложить ?
в версии 2.3.2 htaccess изменён ....

zyxer M
zyxer M
Возраст: 27
Репутация: 17
Сообщения: 83
Зарегистрирован: 03.02.2016
С нами: 3 года 3 месяца

Сообщение #14 zyxer » 03.04.2019, 11:47

не проверял, но все и так должно работать. Или что-то не работает?

WarmLab
WarmLab
Репутация: 0
Сообщения: 3
Зарегистрирован: 02.04.2019
С нами: 1 месяц 25 дней

Сообщение #15 WarmLab » 03.04.2019, 14:32

zyxer писал(а):не проверял, но все и так должно работать. Или что-то не работает?

работает но в новой версии реврайты что то убрано что то добавлено новое

Добавлено спустя 40 секунд:
ну например

Код: Выделить всё

RewriteRule ^([a-z]{2}/)?products/([^/]+)/?$   index.php?module=ProductView&product_url=$2&lang_label=$1 [L,QSA]
RewriteRule ^([a-z]{2}/)?all-products/?$       index.php?module=ProductsView&lang_label=$1 [L,QSA]
RewriteRule ^([a-z]{2}/)?all-products/([^/]+)   index.php?module=ProductsView&lang_label=$1&page_url=all-products [L,QSA]

RewriteRule ^([a-z]{2}/)?(discounted|bestsellers)/?$       index.php?module=ProductsView&lang_label=$1&mode=$2 [L,QSA]
RewriteRule ^([a-z]{2}/)?(discounted|bestsellers)/([^/]+)   index.php?module=ProductsView&lang_label=$1&page_url=$2&mode=$2 [L,QSA]

WarmLab
WarmLab
Репутация: 0
Сообщения: 3
Зарегистрирован: 02.04.2019
С нами: 1 месяц 25 дней

Сообщение #16 WarmLab » 04.04.2019, 16:07

так кто то поможет перевести новый конфиг?

zyxer M
zyxer M
Возраст: 27
Репутация: 17
Сообщения: 83
Зарегистрирован: 03.02.2016
С нами: 3 года 3 месяца

Сообщение #17 zyxer » 05.04.2019, 06:39

Там одно было сделано только для оптимизации файла .htaccess (на логику не влияет, просто уменьшение кол-ва строк). Второе, это убраны некоторые параметры. Но если они у вас останутся, это вообще ни на что не влияет. Поэтому рекомендую Вам не трогать то, что и так работает ))


Название раздела: Предложения по улучшению OkayCMS
Правила раздела: faq.php?mode=okay

Быстрый ответ


Введите код в точности так, как вы его видите. Регистр символов не имеет значения.
Код подтверждения

   

Вернуться в «Предложения по улучшению OkayCMS»

Кто сейчас на форуме (по активности за 5 минут)

Сейчас этот раздел просматривают: 1 гость