Производство фотообоев в Новосибирске. Интернет магазин фотообоев. Изготовление - один день! Каталог 10 000 изображений!
14 Март 2015

Примеры NGINX редиректов — 301й редирект, приоритет location, включение ЧПУ, по GET условию переменной …

Довольно часто приходиться использовать редиректы, и правильнее всего это реализовывать конечно же в фронтенде — то есть средствами NGINX,
а в идеале вообще отказаться от использования htaccess или вообще от аппача — значительно ускорим работу сайта.

И первой же проблемой после этого встаёт реализация всех редиректов ранее работающих в .htaccess
Ну или просто нужно какой нить редирект сделать … делаем его в nginx!

Здесь для себя решил собрать в кучку некоторые используемые мною редиректы.

1. Перенаправление после включения режима ЧПУ
Довольно востребованное т.к. адреса страниц меняются и на работающем проекте это череповато потерей посетителей (в поисковиках старый адрес, а на сайте уже новый).
Лично у меня это часть ТЗ для сайта на платформе 1С Битрикс — только что врубил ЧПУ и нужно было настроить редирект со старых на новые странички.
Редирект из разряда сложных т.к. условие находится в переменных GET запроса и сделать Location по этому условию непонятно как
/dir/?ELEMENT_ID=777 на /dir/777/

моё решение (несколько напрягает присутствие if — конфиг nginx с условием заведомо считается неудачным, но как по-другому я не нашел ):
location ~ /dir/ {
if ( $args ~* (.*)ELEMENT_ID=(.*) )
{
set $element_id $2;
set $args '';
rewrite ^(.*)$ /dir/$ELEMENT_ID/ permanent;
}
proxy_pass $proxyserver;
}

2. 301й редирект с сайта с www на сайт без www или наоборот
Реализуется на уровне директивы server
server {
listen 80;
server_name site.ru;
rewrite ^ http://www.site.ru$request_uri? permanent;
}

server {
listen 80;
server_name www.site.ru;
.
.
.


3. Редирект с конкретной страницы на конкретную страницу


location = /price.html { rewrite ^(.*)$ /price.php; }

4. Редирект по условию с передачей переменной /obl/777/ на /obl.php?obl_idx=777

location /obl/ { rewrite /obl\/(.*)$ /obl.php?obl_idx=$1; }

5. Редирект всех несуществующих файлов на index.php (такой редирект пригодится для многих CMS например Joomla)

location / {
try_files $uri $uri/ /index.php$is_args$args;
}

location ~ \.php$ {
fastcgi_index index.php;
include fastcgi_params;
.
.

рубрики: Bitrix, Администрирование, Полезности | Комментарии (0)

14 Март 2015

Битрикс — партнерская аффилиатская программа на Малом-Бизнесе

Итак, очередное ТЗ — реализовать систему откатов для людей порекомендовавших покупателям интернет-магазина медицинских товаров для реабилитации (в моём случае это как правило врачи).
Такая система присутствует в редакции Бизнес, но не каждый начинающий магазин может это дело сразу потянуть т.к. разница в ценнике ровно 2 раза (Бизнес на текущий момент 66 т.р.).
А реализуется необходимый минимальный функционал довольно просто.
Вот как это сделал я:
1. Создаём группу Врачи (присваивать в эту группу будем сами).
2. Создаём скидочный купон, например 1234-1234 и такой же купон прописываем врачу (я прописал в рабочий пейджер — т.к. явно поле неиспользуемое)
3. Раздаём купоны покупателям, теперь при совершении покупки номер купона прописывается в заказ
4. Выводим Врачу информацию о заказах с использованием их купона (позже прикручу фильтра и т.д.)

123

рубрики: Bitrix | Комментарии (0)