• Можно ли как сделать массовый редирект ссылок?

    В битриксе нельзя убрать первую element посколку это инфоблок. тут может быть любое название но от этого сути не меняет.
    так что убрать ее полностью нельзя, как и брать с разных инфоблоков одну и туже инфу.
    Если же вам нужно чтоб они открывались по двум урлам то это канибализация запросов и это тоже так себе решение.
    однако можно делать следующим образом
    1. сделать редирект с кодом 200 вместо 301 на такие урлы.
    2. рзместить его до ЧПУ
    все

    А еще лучше напишите зачем вам это, потому-что вы делаете какую-то дичь, возможно то что вы пытаетесь сделать можно сделать нормальным способом
    Ответ написан
    Комментировать
  • Как сделать красивый url ЧПУ?

    shambler81
    @shambler81 Куратор тега htaccess
    DirectoryIndex index.php index.html index.htm

    RewriteCond %{REQUEST_URI} ^(.*)/index\.php$
       # URL cодержит index.php в конце.
    RewriteCond %{REQUEST_METHOD} =GET
       # Выявляем GET запрос в URL (не POST).
    RewriteRule ^(.*)$ %1/ [R=301,L]
       # Удалить index.php из URL.
    Ответ написан
    Комментировать
  • Какой верный синтаксис цикла for в BASH?

    #!/bin/sh
    #скрипт бэкапа баз данных
    ###########################
    #Создаем папку для архивов.  -p не ругается когда папка уже есь test проверяет есть ли папка  для чистых логов
    test ! -d /var/backup/mysql/`date +%Y` && { mkdir -p /var/backup/mysql/`date +%Y` ; }
    test ! -d /var/backup/mysql/last && { mkdir -p /var/backup/mysql/last ; }
    
    #прячем от умных, и так не зайдут но всеже.
    chmod 600 /var/backup/mysql
    chmod 600 /var/backup/mysql/last
    
    # делаем сам дапм файлов sql, свежинькие файлы лежат всегда в ней, очень удобно не нужно заходить в архивы и искать там вчерашние базы, и логируется.
    for i in `mysql -u***** -p******** -e'show databases;' | grep -v information_schema | grep -v Database`; do mysqldump -u********* -p********* $i > /var/backup/mysql/last/$i.sql;done >> /dev/null 2>> /var/log/sqlbackup.log
    # Архивируем дамп, ну и логируем разумеется
    cd /var/backup/mysql/
    tar -czvf /var/backup/mysql/`date +%Y`/sqldump-`date +%Y-%m-%u`.tar.gz ./last >> /dev/null >> /var/log/sqlbackup.log
    #(echo "Subject: Бэкап mysql  server завершен"; cat /var/log/sqlbackup.log;) | /usr/sbin/sendmail  viktor@demo.ru
    ##################  Конец скрипта

    Ответ написан
  • Как сделать редирект через .htaccess поддомена с www на поддомен без www?

    shambler81
    @shambler81 Куратор тега htaccess
    RewriteCond %{HTTP_HOST} ^(.+)\.example\.ru$
    RewriteCond %{HTTP_HOST} ^!www\.example\.ru$
    RewriteRule ^$ http://example.ru/%1/.html [L,R=301]
    Ответ написан
    1 комментарий
  • Почему не работает 301 редирект?

    RewriteRule ^city/kontaktyi/$ https://new\-site.ru/kontakty? [L,R=301]
    Ответ написан
  • Как написать .sh скрипт для копирования определенных файлов с определенным названием архива и в определенный каталог?

    правильно ли я понимаю что нужно скопировать определенные файлы но сохранить дерево каталогов ?
    дайте пару примеров было стало
    покажи пример нкскольких было стало
    Ответ написан
    Комментировать
  • Сделать редирект без части урл?

    shambler81
    @shambler81 Куратор тега htaccess
    1. какой смысл в этом?
    2. RewriteRule ^index\.php/component/(.+)/news/itogi$ /icomponent/$1? [L,R=301]
    Ответ написан
    7 комментариев
  • Сайт по https:// открывает default сертификат/сайт. Как убрать это?

    гы щя разметаю
    ответ никак

    тут все просто
    Поскольку весь интернет это один большой костыль на костыле костылем погоянющий
    мы имеем в свое время небыло идеи в tcp/ip иметь что-то кроме цифр
    когда встал вопрос RFC уже был написан
    так что мы получили службу днс как костыль к буквенным айпишникам.
    Теперь когда встал вопрос о конечности IPv4 да и даже немного до этого в апаче встал воопрос как повешатьдва сайта на один порт и айпи
    что естественно не соответствует RFC или порт или айпи
    собственно нашлось отличное решение, апачь разбирает ТВОЙ http reffery (от браузера клиента) выбирает из него домен и на основание этого подставляет нужный тебе конфиг в соответствие с ServerName
    но потом появился еще один костыль SSL
    который занимает свой порт, теперь барабанная дробь.....

    Ты открыл порт 443 и повешал на него 1 сайт
    НО айпи открыт Порт открыт и это апач
    По какой причине при обращение по 2 домену он должен его послать в лес ?
    Как ты думаш по SSL что вначале? Gередача данных по каналу или ключь от него?
    правильно ключ.
    Следоватлеьно веб сервер физически не может знать послать ли тебя лесом или нет ибо рефери твой он не может забрать без ключа а ключа нет пока нет рефера.

    По этому
    как только у тебя на сервере появляется 1 сайт с ssl
    все остальные сайты тоже получают ssl
    Но ты скажешь я же не дал им ключа. Да только он не может по этому каналу ни байта информации получить включая че за сайт.
    И тут веб сервер делает ооооочень логичное решение.
    Он берет Ближайший ключ, ближайший по буквам например 000-default.conf
    берет эти ключи и вставляет их всем сайтам к которым он ключи не смог найти сразу-же.
    Вот такая логика брат.

    Что делать
    отключить ссл на 1 из сайтов физически не возможно
    Можно сделать следующее
    1 сертификат по сортировке имени должен быть дефолтным.
    и в дефолтном конфиге должно отдаваться код 400 на все запросы.

    не забудь поставить галочку что решено.
    Ответ написан
    4 комментария
  • Bash-script - SSH подключение?

    да без проблем десяток строк кода
    https://www.shellhacks.com/ru/ssh-execute-remote-c...
    так моно подключиться
    соответственно вам нужно сделать цикл в котором вы будете бежать по этим файлам и выполнять команду.
    вот пример цикла.
    Тут я захожу в бд получаю список баз и каждую из них отдельно бэкаплю.
    for i in `mysql -uroot -pпароль -e'show databases;' | grep -v information_schema | grep -v Database`; do mysqldump -uroot -pпароль $i > /var/backup/mysql/$i/`date +%Y-%m-%d`-$i; gzip /var/backup/mysql/$i/`date +%Y-%m-%d`-$i;done

    grep -v - исключает из массива
    Ответ написан
  • Как привязать линейку размеров к определенным брендам в Bitrix?

    Интеграция битрикс + 1с
    1с выступает в роле мастера
    естественно все правки нужно делатьтам иначе у тебя постобработчик будет работать часами и это будет отдеьная проблема.
    Подготовка данных делаетя на стороне 1с максимально!
    И связано это с 2 причинами
    1. пусть все это г лежит в 1с и занимаются этим они
    2. долгий экспорт товаров это проблема 1с а не сайта
    3. клиент серверная система подготавливает сервер данные клиент их отображает.
    Ответ написан
  • Как автоматически запускать проект при падение?

    shambler81
    @shambler81 Куратор тега Linux
    проблем нет но линукс это не винда тут так не принято
    если падает какой-то из демонов рестартуют именно его а не всю ос.
    Аптайм 1000 дней вполне себе адекватный аптайм для обычных домашних серверков.
    Так что рестарт всей ос это ты брось.
    Технология такая.
    1. проверяешь статусы httpd nginx и mysql обьем памяти место на диске и че там тебе нужно
    если они возвращяют тру то ничего если фелс то рестартуеш конкретный демон.
    делается это в одну строчку
    делается это очень легко
    команда $$ echo "true" || echo "false"
    К примеру если ты сделаешь
    service httpd status | grep "running" || service httpd restart

    где
    && - если команда завершилась с тру
    || если с фелс ( все это облегченый синтаксис)

    линукс это конструктор тут все легко и просто главное определись что тебе нужно
    так же уже есть много чего готового к примеру monit munin zabbix nagios и тд
    есть сторонние сервисы которыми можно тестить я к примеру мелким товарищям вот этих рекомендую
    Тут можно мониторить сервер из облака и посылать на него команд что очень удобно.
    monit-it.ru
    так сказать дешево и сердито. Бесплатного тарифа тебе хватит за глаза
    601b0b4594a91529890390.png
    Ответ написан
    3 комментария
  • Как установить Windows под Linux?

    shambler81
    @shambler81 Куратор тега Linux
    Поверь мне поставь на отдельный диск.
    рано или поздно одну из ос ты захочешь снести
    так вот разбираться при таком опыте с загрузчиками и выпиливать их тебе не понравится
    Просто отключи 1 диск поставь на 2 в это время винду и подключи оба диска к компу. при загрузке системы просто на F8 переключай диски при старте.
    так ни одна из ос не будет знать о существование друг друга.

    И если поставить линукс на винду еще как-то можно начинающему юзеру
    То винда принципиально все сносит к хренам.

    А там особенностей миллион вплоть до какой у тебя биос, какие диски, и какой версии линукс.
    Тебе оно нужно ?

    Если же твоя здача выучить линукс, то поверь единственный вариант полностью снести винду.
    Других способов нет.
    Ответ написан
    9 комментариев
  • Какой модуль SEO фильтра для Битрикс выбрать?

    Никакой.
    Делайте реальную структуру каталога чеерз множественную привязку к секциям ( пропадут множественые УРЛ одной страничке, поскольку физичеки можно расположить все товары на первом уровне. И не забывайте про СКУ и так же есть комплекты и наборы.
    А фильтр оставляй для низкочастотных не индексируемых запросов (дабы не канибализировали запросы).
    В хедер поставить риал каноникал на страничку без гет параметра
    В роботс запретить полностью все GET параметры для индексации.
    Делайте нормальную структуру а не крутите велосипед.
    Ответ написан
    Комментировать
  • Как вернуть базу данных на битрикс если удалил каталог?

    у меня для вас плохие новости
    1. у вас странно задан вопрос переформулируйте его более правильно.
    2. БД хранится не в папке сайта а в папке где установлена mysql там у него свой блэкджек.
    Если вы имели в виду у вас нет файлов то вам нужно зайти в админку хостинга и сделать дамп баз поскольку она осталась на месте ( если не удаляли ее специально или не удлиняли аккаунт этого сайта )
    можно зайти в phpmyadmin если помните пароли
    если у вас есть рутове права то можно посмотреть в mysql > show databases;
    ну и mysqldump -uroot -ppass mybases > mybases.sql
    где пароль и логир без пробелов от буковок p и u а mybases ваша бд
    Так же проверьте возможно у вас есть бэкап в облаке от битрикс
    для этого вы можеет поставить на другой аккаунт файл restore.php "востановить из облака" но вам нужно знать номер вашей лицензии к битриксу и ели вы делали хоть1 бэкап то они там будут.
    3. У хостеров как правило есть бэкапи дисков можете спросить у них могут востановить но тут смотря как у кого.
    Ответ написан
  • Какой Office лучше использовать в качестве замены MS Office?

    shambler81
    @shambler81 Куратор тега Linux
    wps office без вариантов
    XpXnzPXGjisFR3Ko6EEdNQ.jpg
    Верховный суд китая ненашел ничего общего с известным вам майкрасофт офисом, это вам показалось ;)
    Совместимость куда как лучше чем у либры. Либра и почившый ООо курят в сторонке.
    Русский с коробки, кросплатформенный
    Китайцы рулят. Проект бурно развивается.
    Ответ написан
    21 комментарий
  • Какой дистрибутив Linux выбрать для задач?

    shambler81
    @shambler81 Куратор тега Linux
    mint + cinamon
    Ответ написан
    Комментировать
  • Правильная настройка домашнего веб-сервера?

    shambler81
    @shambler81 Куратор тега Linux
    vestacp
    braynicp
    ispconfig3
    выбирай
    Ответ написан
    Комментировать
  • КАК установить 2 ip вебсерверу?

    <VirtualHost *:80> если тебе нужны все айпи
    ну или вот так
    <VirtualHost 192.168.1.1 172.20.30.40>
    Ответ написан
    Комментировать
  • Как сделать редирект с http и www на https без www?

    shambler81
    @shambler81 Куратор тега htaccess
    все можно сделать отдельно поскольку нет необходимости соеденять рыбу и котлеты, последовательность редиректов все поисковые системы понимают и это не влияет на сео
    RewriteEngine On
       #  Директива включает редиректы.
    RewriteBase / 
    # Без директивы (.*) = /$1 будет /var/wwww/site/web/$1  с директивой  = /$1
    
    #  Удалить www
    RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
     # Проверяем, содержит ли домен www в начале URL.
    RewriteRule ^(.*)$ https://%1/$1 [R=301,L]
        # Перенаправляем удаляем www
    
    # https
    RewriteCond %{HTTPS} off
       # Проверяем наличие https в URL.
    RewriteCond %{REQUEST_URI} !^/bitrix/admin/1c_exchange\.php$ [NC] 
       #  Исключим обмен с 1С, ему требуется только 200 
    RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
       # Перенаправляем протокол на http.


    Из тонкостей в завиимости от веб сервера и правильности его настройки редирект с https может не сработать или привести к циклу в таком случае нужно выбрать подходящий вам.
    Как настроить редирект на https в.htaccess?
    Если не помогло то причину зацикливания можно посмотреть тут
    https://bertal.ru/index.php?a566754
    если причинаhttps://site.ru:80 то пропишите место %{HTTP_HOST} имя домена.

    Если у вас не битрикс то
    RewriteCond %{REQUEST_URI} !^/bitrix/admin/1c_exchange\.php$ [NC]
    можно удалить
    Ответ написан
    Комментировать
  • Как сделать редирект "domain.ru/?" на "domain.ru"?

    Так если тебе нужно именно при этом гет параметре
    RewriteCond %{QUERY_STRING} (?:^|&)id\=раздел(?:$|&)
    RewriteRule ^$ /? [L,R=301]


    А если просто удалить гет параметр то поставь знак вопроса в конце и это будет означать удалит гет.
    RewriteRule ^$ /? [L,R=301]
    Ответ написан
    1 комментарий