Универсальный .htaccess для всех 301 редиректов сразу — http на https, www на без www и т.д.

Чисто памятка для универсального .htaccess для всех редиректов сразу — http на https, www на без www, со слешем, без слеша, с поддоменов одного домена на поддомены другого и т.д.

Используется на на сайтах на Битриксе, в целом, должен работать и на любых других.

Options -Indexes 
ErrorDocument 404 /404.php


RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://site.ru/$1 [R=301,L]

#ROBOTS.TXT
RewriteCond %{HTTPS} off
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteCond %{REQUEST_URI} !robots.txt
RewriteRule ^(.*)$ https://site.ru/$1 [R=301,L]

#DOMAIN AND SUBDOMAIN REDIRECTION
RewriteBase /

RewriteCond %{HTTP_HOST} !^(www\.)?old-site\.ru$
RewriteCond %{HTTP_HOST} ^(.+)\.old-site\.ru$
RewriteRule (.*) https://%1.new-site.ru/$1 [R=301,L]

RewriteCond %{HTTP_HOST} ^old-site.ru$ [NC]
RewriteRule ^(.*)$ https://new-site.ru/$1 [R=301,L]


RewriteCond %{SERVER_PORT} !^443$
RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [L,R=301]

#one-to-301-wo-www-and-slash

RewriteCond %{REQUEST_URI} !\?
RewriteCond %{REQUEST_URI} !\&
RewriteCond %{REQUEST_URI} !\=
RewriteCond %{REQUEST_URI} !\.
RewriteCond %{REQUEST_URI} !\/$
RewriteCond %{HTTP_HOST} ^www\.(.*)$
RewriteRule ^(.*)$ https://%1/$1/ [L,R=301]

RewriteCond %{REQUEST_URI} !\?
RewriteCond %{REQUEST_URI} !\&
RewriteCond %{REQUEST_URI} !\=
RewriteCond %{REQUEST_URI} !\.
RewriteCond %{REQUEST_URI} ![^\/]$
RewriteCond %{HTTP_HOST} ^www\.(.*)$
RewriteRule ^(.*)$ https://%1/$1 [L,R=301]

RewriteCond %{REQUEST_URI} !\?
RewriteCond %{REQUEST_URI} !\&
RewriteCond %{REQUEST_URI} !\=
RewriteCond %{REQUEST_URI} !\.
RewriteCond %{REQUEST_URI} !\/$
RewriteCond %{HTTP_HOST} ^([^www].*)$
RewriteRule ^(.*)$ https://%1/$1/ [L,R=301]
RewriteCond %{REQUEST_URI} !\&
RewriteCond %{REQUEST_URI} !\=
RewriteCond %{REQUEST_URI} !\.
RewriteCond %{REQUEST_URI} !\/$
RewriteCond %{HTTP_HOST} ^([^www].*)$
RewriteRule ^(.*)$ https://%1/$1/ [L,R=301]


#RewriteCond %{HTTPS} =off
#RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [QSA,L]


  php_flag session.use_trans_sid off
  #php_flag default_charset UTF-8
  #php_value display_errors 1



  php_flag session.use_trans_sid off
  php_flag default_charset UTF-8

  #php_value display_errors 1



  Options +FollowSymLinks
  RewriteEngine On
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-l
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_FILENAME} !/bitrix/urlrewrite.php$
  RewriteRule ^(.*)$ /bitrix/urlrewrite.php [L]
  RewriteRule .* - [E=REMOTE_USER:%{HTTP:Authorization}]



  DirectoryIndex index.php index.html



  ExpiresActive on
  ExpiresByType image/jpeg "access plus 3 day"
  ExpiresByType image/gif "access plus 3 day"
  ExpiresByType image/png "access plus 3 day"
  ExpiresByType text/css "access plus 3 day"
  ExpiresByType application/javascript "access plus 3 day"

Убрать index.php (при .html — заменить .php в записи) в конце адреса

# remove index.php from the end of URI
RewriteEngine On
RewriteRule ^index\.php$ / [R=301,L]
RewriteRule ^(.*)/index\.php$ /$1/ [R=301,L]

Редирект GET параметров

Например, сделать редирект со страницы /?act=page&id=2 на /page-2/

RewriteCond %{QUERY_STRING} act=page [NC]
RewriteCond %{QUERY_STRING} id=(\d+) [NC]
RewriteRule .* /page/%1/? [R=301,L]]

Как убрать все get запросы htaccess redirect

Бывает необходимо убрать все GET запросы/параметры из url, т.к на сайте они не используются, а поисковики пытаются индексировать страницы с этими параметрами и отмечают их как дубли.Для того, чтобы убрать GET параметры со всего сайта и сделать 301 редирект на ту же страницу но без параметров необходимо использовать следующую конструкцию:RewriteCond %{QUERY_STRING} ^(.+) [NC]
RewriteRule ^(.*)$ /$1? [R=301,L]

Настройка таких редиректов бывает необходимо после заражения сайта вирусами, когда идет очень много обращений к страницам файла с GET запросами.

Однако если административная панель сайта использует GET запросы, необходимо исключить из этой конструкции папку административной панели сайта, и переделать ее в следующий вид:

RewriteCond %{REQUEST_URI} !^/admin/
RewriteCond %{QUERY_STRING} ^(.+) [NC]
RewriteRule ^(.*)$ /$1? [R=301,L]

Массовая генерация символьного кода в Битрикс

Решение проблем с сайтом на Битрикс

Честно сдернуто со страницы оригинала для удобства поиска )

Генерация символьных кодов для разделов и элементов инфоблоков
Задача:
С генерировать символьные коды для разделов или элементов инфоблока — если они не заданы

Используя скрипт предложенный Николаем Ефремовым делаем так:

1/ открываем командную строку PHP — Рабочий стол — Настройки — Инструменты — Командная PHP-строка [/bitrix/admin/php_command_line.php]
Скопировать в область кода следующий скрипт

if(!CModule::IncludeModule("iblock"))
{
   echo "Error with iblock module!";
   die;
}
$arParams['IBLOCK_ID'] = 17;
$arParams['LIST_CNT'] = 50;
$arParams['IS_ADD_RAND'] = false;
$arParams['TYPE_WORK'] = 'section'; // {section | element}


$arOrder = array(
   "sort" => "inc",
);

$arFilter = array(
   "IBLOCK_ID" => $arParams['IBLOCK_ID'],
   "IBLOCK_LID" => SITE_ID,
   //"CODE" => "",
   "CODE" => false
);

$arTransParams = array(
   "max_len" => 100,
   "change_case" => 'L', // 'L' - toLower, 'U' - toUpper, false - do not change
   "replace_space" => '-',
   "replace_other" => '-',
   "delete_repeat_replace" => true
);

if($arParams['TYPE_WORK'] == 'section'){
   //for SECTIONS
   $db_elemens = CIBlockSection::GetList($arOrder, $arFilter, false);
   $db_elemens->NavStart($arParams['LIST_CNT']);
   echo '<pre>';
   while($ar_res = $db_elemens->GetNext())
   {
      $transName = CUtil::translit($ar_res["NAME"], "ru", $arTransParams);
      if($arParams['IS_ADD_RAND']){
         $transName = $transName.$arTransParams["replace_space"].$ar_res["ID"];
      }
      $arPropArray = Array( "CODE" => $transName );
      
      $el = new CIBlockSection;
      $res = $el->Update($ar_res["ID"], $arPropArray);
      echo "result for <b>".$ar_res["NAME"]."</b> is <b>".$transName.'</b>'.($res?" and OK":" and failed")."\r\n";
   }
   echo '</pre>';
}elseif($arParams['TYPE_WORK'] == 'element'){
   // for ELEMENTS
   $db_elemens = CIBlockElement::GetList($arOrder, $arFilter, false, array("nTopCount" => $arParams['LIST_CNT']));

   $i = 0;
   echo '<pre>';
   while($obElement = $db_elemens->GetNextElement())
   {
      $ar_res = $obElement->GetFields();
      
      $transName = CUtil::translit($ar_res["NAME"], "ru", $arTransParams);
      if($arParams['IS_ADD_RAND']){
         $transName = $transName.$arTransParams["replace_space"].$ar_res["ID"];
      }
      $arPropArray = Array( "CODE" => $transName, );
      
      $el = new CIBlockElement;
      $res = $el->Update($ar_res["ID"], $arPropArray);
      echo "result for <b>".$ar_res["NAME"]."</b> is <b>".$transName.'</b>'.($res?" and OK":" and failed")."\r\n";
   }
   echo '</pre>';
}

2/ Определяемся с инфоблоком — ниже в скрипте в параметр $arParams[‘IBLOCK_ID’] нужно записать его ID

3/ Решаем, нужно ли нам генерировать совсем уникальные коды. Можно вначале пройтись и создать не повторяющиеся, а для повторяющихся добавить в конце ID. За это отвечает параметр $arParams[‘IS_ADD_RAND’] — {true|false}

4/ Указываем шаг выборки — параметр $arParams[‘LIST_CNT’] — большим не стоит делать, максимум 100 элементов за раз

5/ Настраиваем параметры транслита. За это отвечает массив $arTransParams

$arTransParams = array(
   "max_len" => 100,
   "change_case" => 'L', // 'L' - toLower, 'U' - toUpper, false - do not change
   "replace_space" => '-',
   "replace_other" => '-',
   "delete_repeat_replace" => true
);

6/ Указываем для чего будем проводить генерацию — для разделов или для элементов — параметр $arParams[‘TYPE_WORK’] — возможные значения — {section | element}

7/ Жмем кнопку выполнить — прогнать скрипт нужное количество раз

Javascript — настроить фильтр (кейс: умный фильтр Битрикс) для выбора (checkbox) только одного раздела фильтра.

Javascript - настроить фильтр (кейс: умный фильтр Битрикс) для выбора (checkbox) только одного фильтра.

Понадобилось сделать так, чтобы была возможность выбрать только какой-то один фильтр, при этом, второй фильтр одновременно с выбранным выбрать было нельзя. ))

Масло масляное, но в группах товаров на сайте есть взаимоисключающие друг друга фильтры.

Для реализации этого в Битрикс, в шаблоне вывода умного фильтра, добавил для input type=»checkbox» в цикле foreach поэлементного вывода дополнительный атрибут

data-filtername="<?=$arItem["NAME"]?>"

где <?=$arItem[«NAME»]?> — это не название пункта фильтра, а название раздела фильтра. Ну, например, раздел фильтра «Цвет» имеет имеет несколько элементов — цветов. Так вот, в каждом элементе раздела «Цвет» будет поле атрибута с названием «Цвет», т.е., data-filtername=»Цвет».

По сути, если элементы фильтра выводятся не в цикле, то атрибут вставляется в нужные input checkbox в HTML.

И там же в шаблоне добавил скрипт для реализации функционала:

<script>

// для первого раздела фильтра
let filterCheck = document.querySelectorAll("input[data-filtername='Одно']");  // выбираем все input с нужным атрибутом
// проходим циклом по всем элементам для проверки: если в другом разделе фильтра уже выбран какой-либо пункт, то, при клике на нашем checkbox, снимаем с него галку и выводим предупреждение

filterCheck.forEach(function(item) {
item.onclick = function() {
if (document.querySelector("input[data-filtername='Другое']:checked")) {
alert('Простите, но невозможно выбрать в фильтре Одно и Другое одновременно.')
item.checked = false; // снимаем галку с элемента
}
}
});

// аналогично первому
let filterCheck2 = document.querySelectorAll("input[data-filtername='Другое']");
filterCheck2.forEach(function(item) {
item.onclick = function() {
if (document.querySelector("input[data-filtername='Одно']:checked")) {
alert('Простите, но невозможно выбрать в фильтре Одно и Другое одновременно')
item.checked = false;
}
}
});

</script>

Реализация, понятное дело, не универсальная, но на скорую руку вполне рабочий вариант.

Разработка сайта на WordPress для RenovaDom — пескоструйная шлифовка и обработка дерева и металла

RenovaDom - восстановление и защита деревянных домов _ Пескоструй, шлифовка в Москве и МО, любые работы по шлифовке и пескоструйной обработке
RenovaDom - восстановление и защита деревянных домов _ Пескоструй, шлифовка в Москве и МО, любые работы по шлифовке и пескоструйной обработке
RenovaDom — восстановление и защита деревянных домов _ Пескоструй, шлифовка в Москве и МО, любые работы по шлифовке и пескоструйной обработке

Разработали сайт и логотип для компании, занимающейся финишной обработкой, реставрацией дерева, металла, кирпича (под лофт) — RenovaDom.

Работают по Москве и области, делают все качественно, толково, обстоятельно и в отзывах — только положительные эмоции.

Подобранная гамма цветов на сайте, красивые и понятные фотографии работ, простой вызов обратной связи — что еще нужно, чтобы получить необходимое?

Что говорят сами о себе ребята:

Именно мы придаем красоту и подчеркиваем элегантность деревянному дому, как новому после возведения сруба, так и уже постоявшему, чем-то покрашенному, старше 5-10 лет, утратившему свою свежесть и очарование.

Мы используем абразивоструйный метод шлифовки и подбираем оптимальные лакокрасочные материалы, в нашем арсенале есть качественные и реально работающие огнебиозащитные пропитки, восстанавливающие антисептики и натуральные масловоски с возможностью колеровки цветами ценных пород древесины.

Каждый деревянный дом уникален и для создания его красоты и защищенности на долгие годы требуется индивидуальный профессиональный подход.

Доверьте Ваш дом команде наших специалистов и результат превзойдёт Ваши ожидания!


Заказать сайт-визитку, лендинг, форум, портал или интернет-магазин вы можете, написав нам в Директ, WhatsApp, в ВК, на почту или позвонив нам по телефону +7-913-013-45-51.

Заказывайте у нас сайт любой сложности, на WordPress, 1C-Bitrix, Joomla, OpenCart или на той системе, которая удобнее вам. Все сделаем в лучшем виде!

#WEBSTUDIUS

Создание сайта для «Осьминожки» — Детской парикмахерской в Новосибирске

Сайт детской парикмахерской "Осьминожки" - создание сайтов и калибровка мониторов WEBSTUDIUS

Веселый, дружелюбный и красивый сайт для детской парикмахерской «Осьминожки»!

«Осьминожки» — это не просто парикмахерская, а возможность погрузиться в атмосферу подводного мира.

У нас созданы все условия для маленьких непосед:

  • ярко оформленный интерьер
  • много света
  • игровая зона
  • и конечно возможность познакомится с морскими обитателями.

А уставшим родителям мы подарим минуты комфорта и спокойствия.

Мы любим
своих клиентов
и поэтому
у нас все самое лучшее

Теперь у маленьких осьминожек есть свой уютный сайт, где можно выбрать модельную стрижку или укладку, окраску или подравнивание кончиков, а еще там есть женские и мужские стрижки…


Заказать сайт-визитку, лендинг, форум, портал или интернет-магазин вы можете, написав нам в Директ, WhatsApp, в ВК, на почту или позвонив нам по телефону +7-913-013-45-51.

Заказывайте у нас сайт любой сложности, на WordPress, 1C-Bitrix, Joomla, OpenCart или на той системе, которая удобнее вам. Все сделаем в лучшем виде!

#WEBSTUDIUS

BOSCH Service. Поддержка и доработка сайта для отличного СТО в Новосибирске

BOSCH service Новосибирск, WEBSTUDIUS, сделать интернет магазин, интернет-магазин, WordPress, Bitrix, 1c-bitrix, разработка сайтов, создание сайта, поддержка сайта, калибровка мониторов, профилирование принтеров, профилирование широкоформатного принтера, профилирование плоттера, MIMAKI, ROLAND, EPSON, CANON, HP, печать ООО, печать ИП, заказать печать или штамп, сколько стоит сайт, стоимость сайта онлайн, копировальный центр Новосибирск, копи-центр

Продолжает автомобильную тематику в нашем портфолио сайт официального представителя БОШ Сервис в Новосибирске.

Ребята на очень качественном уровне занимаются ремонтом и постгарантийным обслуживанием автомобилей концерна VAG, плюс, ROVER, MERCEDES, PORSHE (тоже, кстати, VAG), BMW.

Сайт очень легкий, написан на обычном PHP и HTML5+CSS3, без систем управления.

Все самое необходимое присутствует, ведь вряд ли поиски СТО и заказ необходимой услуги должны занимать много времени  — обычно это требуется «в моменте».

Заказать сайт-визитку, лендинг, форум, портал или интернет-магазин вы можете, написав нам в Директ, WhatsApp, в ВК, на почту или позвонив нам по телефону +7-913-013-45-51.

Заказывайте у нас сайт любой сложности, на WordPress, 1C-Bitrix или на той системе, которая удобнее вам. Все сделаем в лучшем виде!

#WEBSTUDIUS

Разработка сайта и интернет-магазина для АНБНК — продажа нефтепродуктов и приводной техники

Разработка сайта и интернет-магазина для АНБНК WEBSTUDIUS

Алтай в нашем портфолио представляет компания, занимающаяся продажей нефтепродуктов (бензин, дизтопливо, масло) оптом  – компания АНБНК.

Сайт сделан на системе управления 1С-Битрикс.

(Мы, кстати, являемся официальными партнерами 1С-Битрикс)

Делать сайт на 1С-Битрикс (кто в теме, тот поймет =) ) — то еще удовольствие. Но — справляемся!

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

Так же, необходим удобный поиск, фильтры, каталогизация и вообще – весь внешний вид сайта.

Чтобы посетителю было комфортно!

Мы сделали симпатично, удобно и толково. Чего только стоит скорость работы сайта )))

Bitrix скорость сайта webstudius

Посмотреть сайт: http://anbnk.ru

Заказать сайт-визитку, лендинг, форум, портал или интернет-магазин вы можете, написав нам в Директ, WhatsApp, в ВК, на почту или позвонив нам по телефону +7-913-013-45-51.

Заказывайте у нас сайт любой сложности, на WordPress, 1C-Bitrix или на той системе, которая удобнее вам. Все сделаем в лучшем виде!

Разработка сайта и интернет-магазина для производителя спортивной одежды ISHI

Разработка сайта и интернет-магазина для производителя спортивной одежды ISHI

Крутые ребята, мощные бойцы, красивые, подтянутые девушки, спортсмены и спортсменки — для любого из них в магазине ISHI.RU найдется необходимая экипировка!

Стильные яркие цвета, шрифты, гаммы, и, наконец, прекрасные ткани и спортивная одежда!

Все это – интернет-магазин по продаже спортивной одежды и экипировки ISHI.RU.

Фишка команды ИСИ — разработка индивидуального дизайна для любой спортивной одежды.

И эти все, и не только эти, преимущества есть у магазина ISHI.RU. Принты действительно уникальные, в России есть только один настолько лояльно относящийся к своим клиентам магазинам – это ISHI.RU.

Отзывы, существующие в группе ВКонтакте, говорят сами за себя!

Реальные отзывы, реальных посетителей, только посмотрите инстаграмм ISHI!

Платформа: WordPress

Дополнения: WooCommerce, SEO

Простой, приятный дизайн, удобный поиск по товарам, все наглядно, понятно и доступно 🙂

Заходите, примеряйте, спортивная одежда и экипировка от ISHI — прекрасный выбор!

 

Заказать сайт-визитку, лендинг, форум, портал или интернет-магазин вы можете, написав нам в Директ, WhatsApp, в ВК, на почту или позвонив нам по телефону +7-913-013-45-51.

Поддержка и доработка сайта производителя металлоконструкций ИНТЕГРАЛ

WEBSTUDIUS, ИНТЕГРАЛ - производство металлоконструкций, integral-nsk.ru, сделать интернет магазин, интернет-магазин, WordPress, Bitrix, 1c-bitrix, разработка сайтов, создание сайта, поддержка сайта, калибровка мониторов, профилирование принтеров, профилирование широкоформатного принтера, профилирование плоттера, MIMAKI, ROLAND, EPSON, CANON, HP, печать ООО, печать ИП, заказать печать или штамп, сколько стоит сайт, стоимость сайта онлайн

Уже достаточное количество времени ведем поддержку, доработку и преобразование сайта известного производителя металлоконструкций в Новосибирске  — компании ИНТЕГРАЛ. Сайт сделан на системе управления 1С-Битрикс.

(Мы, кстати, являемся официальными партнерами 1С-Битрикс)

За это время было сделано очень много:

  • редизайн сайта
  • добавлено внедрение водяных знаков на фото
  • внедрение системы CRM Bitrix24
  • наведен порядок в услугах и продукции
  • внедрены формы лид-генерации
  • внедрены формы обратных звонков и обратной связи

Сделано, конечно, достаточно, но еще есть что дорабатывать. Предстоит реорганизация каталога, как внешнего вида, так и логики работы и это достаточно большая задача.

Но выполнимая 🙂

Заказывайте у нас сайт любой сложности, на WordPress, 1C-Bitrix или на той системе, которая удобнее вам. Все сделаем в лучшем виде! ????

Разработка сайта для Карасукского мясокомбината, марка «ОЛИМП ВКУСА»

WEBSTUDIUS, ОЛИМП ВКУСА, Карасукский мясокомбинат, сделать интернет магазин, интернет-магазин, WordPress, Bitrix, 1c-bitrix, разработка сайтов, создание сайта, поддержка сайта, калибровка мониторов, профилирование принтеров, профилирование широкоформатного принтера, профилирование плоттера, MIMAKI, ROLAND, EPSON, CANON, HP, печать ООО, печать ИП, заказать печать или штамп, сколько стоит сайт, стоимость сайта онлайн

Разработали сайт для торговой марки «ОЛИМП ВКУСА», являющейся официальным брендом продукции Карасукского мясокомбината  (перейти на страницу), основанного в 1937 году.

Сайт представляет собой и лендинг,  и визитку и, в последующем, полнофункциональный интернет-магазин.

Все необходимое уже заложено. Также, внедрен модуль SEO, подключены необходимые счетчики.

Немного о бренде.

Внедрение новых технологий планирования и новых стандартов качества продукции на комбинате позволило запустить новый бренд, величественно именующийся «Олимп Вкуса».

И это не просто слова.

Каждый день специалисты, технологи, логисты, дизайнеры, управляющие, и все, кто причастен к марке, делают все возможное, чтобы строго соответствовать новому бренду!

Другими словами, покупая любую продукцию «Олимп Вкуса», Вы можете быть уверенными, что за ней стоят многочисленные улучшения и настоящее качество.

Вы можете быть уверенными в безупречном вкусе продукции от «Олимп Вкуса»!

Чего производят?

Заказывайте у нас сайт любой сложности, на WordPress, 1C-Bitrix или на той системе, которая удобнее вам. Все сделаем в лучшем виде! 🙂

Открыть чат
1
Попробуйте написать нам в WhatsApp!
Попробуйте написать нам в WhatsApp!