Задать вопрос
  • Как отключить 302 редирект на http на Bitrix?

    shambler81
    @shambler81 Куратор тега 1С-Битрикс
    Да действительно с самим сертификатом все норм.
    В общем у вас mix_content
    У вас на сайте просто указан протокол у некоторых урлов в частности HTTP
    что говорит о том что часть контента отдается незащищеным, как следствие и весь сайт.
    Вам нужно убрать протокол и поменять ссылки на // вместо http://
    5f69a40ae72b3019657261.png

    поправьте все ссылки вот такого типа

    <li class="select"><a
                                                href="http://dah-sl.ru/?flag=en&clear_cache=Y#googtrans(ru|ru)">RU</a>
                                    </li>
                                    <li>
                                        <a href="http://en.dah-sl.ru/?flag=en&clear_cache=Y#googtrans(ru|en)">EN</a>
                                    </li>

    удалив протокол или указав явно https
    Ответ написан
    Комментировать
  • Если сменить A запись на ip сервера будет ли работать?

    да
    Суть ДНС сервера это сопаставление А и IP
    Все остальное нужные вещи но без них можно жить
    НО как минимум было бы неплохо сделать еще ворую А для www
    Ответ написан
    Комментировать
  • Как убрать файл из редиректа .htaccess?

    shambler81
    @shambler81 Куратор тега htaccess
    RewriteCond %{HTTP:X-HTTPS} !=1
    RewriteCond %{REQUEST_URI} !^/folder/folder/file.php
    RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

    Знаком отрицания
    Ответ написан
  • Как убрать редирект в WordPress: с http://site идёт на https://site, а потом ещё и на https://www.site?

    вообще не существенно, устал о этом говорить.
    Можно убрать достаточно легко, редирект
    www и https объединить в один, но смысла в этом нет!
    RewriteEngine On
    RewriteCond %{HTTPS} off [OR]
    RewriteCond %{HTTP_HOST} ^www\.
    RewriteRule (.*) https://site.ru/$1 [L,R=301]
    Ответ написан
  • Почему все рекомендуют использовать linux как ОС для разработки?

    shambler81
    @shambler81 Куратор тега Linux
    С боем в свое время в виду лицензирования ПО в офисе я перевел всех на линукс.
    Однако когда финансовая ситуация улучшилась мы могли купить и маки и тем более винду.
    Однако из всех разрабов на мак перешел всего один, да и то посколкьу стал ходить со своим маком.
    Все отальне предпочли сидеть на линуксе, им вкатило и переходить на винду смысла нет.
    Однако менеджеру проекта винда нужна полюбому.
    Для разраба в линукс все есть а разрабатывать по для линукс на линуксе удобнее.
    Однако у вас Django это вообще мир в себе с собственным контейнером так что вам особо-то без раздницы.
    Ответ написан
  • Правило "И не =" для RewriteCond?

    RewriteCond %{HTTP_REFERER} ^(.*)\.google\.(.*) [NC]
    RewriteCond %{HTTP_USER_AGENT} !^.*googlebot.*$ [NC]
    RewriteRule ^(.*)/super-puper/$ https://example.org/?refcode=z910027635c38753 [L,R]

    Ну а отрицание просто отрицание!
    Ответ написан
    Комментировать
  • Что это такое в этом htaccess?

    shambler81
    @shambler81 Куратор тега htaccess
    обычный мобильный вирус, редирект сработает только на мобилке
    удаляем файл ищем вирус
    можно для начала пройтись ai-bolit.php
    Ответ написан
    Комментировать
  • Как настроить htaccess 301 редирект?

    shambler81
    @shambler81 Куратор тега htaccess
    RewriteCond %{REQUEST_URI} ^/catalog/osnova/(.+)$ 
       # если строка начинается с /dir1/ 
    RewriteRule ^(.*)$ /catalog/osnova? [R=301,L] 
       #Перенаправить все URL с начинающиеся с dir1 на dir2 с сохранением дальнейшей структуры URL
    Ответ написан
  • Циклическая переадресация wordpress ERR_TOO_MANY_REDIRECTS, почему?

    shambler81
    @shambler81 Куратор тега htaccess
    RewriteRule ^index\.php$ - [L]
    убери вот это
    Ответ написан
    Комментировать
  • Как настроить переадрессацию?

    shambler81
    @shambler81 Куратор тега htaccess
    у вас гет параметр в урле, но гет не является частью урла по этому вы его не моежте просто выделить.
    Собственно ваш ответ:
    RewriteCond %{QUERY_STRING} (^|&)download\=497($|&)
    RewriteCond %{QUERY_STRING} (^|&)k\=1584014899($|&)
    RewriteRule ^files\-and\-media/$ /files/1.pdf? [L,R=301]
    А вот где это можно легко сделать:

    https://donatstudios.com/RewriteRule_Generator
    Ответ написан
    Комментировать
  • Какие подходы используются сейчас при построении веб-серверов?

    shambler81
    @shambler81 Куратор тега Linux
    И так что вам понадобится.
    1. поскольку разные движки и особенно старые вам нужно от хостинга
    а) php5.2(если реально для него что-то есть) php5.3 php5.4 php5.6 php7.0 php7.1 php7.1 php7.2 php7.3 php7.4 - FastCGI или mod_apache, при этом 5.2-5.3 компилить прийдется уже их тарболов, поскольку в репках их нет
    б) php7.0 php7.1 php7.1 php7.2 php7.3 php7.4 - PHP-FPM - эти со всеми видами представлений одной командой.
    в) nginx +apache - поскольку в старых сайтах переписывать .htaccess на чичтый nginx+FPM это маразм.
    г) сказал бы что virusdie подключеный на каждый сайт, но они сделали ребрендинг и подняли цену в 100 раз так что не увольте.
    однако делать с виурсами что-то нужно
    так что
    будем делать с вирусами
    1. su_exec вкл выкл для сайта - запрещяет функцию exec для старых сайтов она как правило не нужна.
    2. опен бейс дир смысла ставить нет.
    3. нужна моментальная система отката для старых сайтов, возможно просто накатывать бэкап раз в месяц ( если сайты уже статичны) это дешевле чем разбираться с каждым из них постоянно.
    4. Взять большое файловое хранилище или яндекс облако или hetzner там дешевые 10 тб хранилищя, примонтировать их через clifs и бэкапить туда все раз в месяц, удалять раз в 5 лет, тоже по крону.
    отдельно папку для почищены от вирусов сайто которая лежит всегда, и если сайт по какой-то причине просрался то нужно чтоб был ооочень старый бэкап помима обычных. Желательно где-то еще.
    5. старым сайтам должна быть возможность отключить почту, это можно сделать через настройки апача, главное в морду вывести.
    что-то вроде
    disable_functions=exec,passthru,shell_exec,system,proc_open,popen,curl_multi_exec,parse_ini_file,show_source,mail,apache_child_terminate, apache_setenv, define_syslog_variables, escapeshellarg, escapeshellcmd, eval, fp, fput, ftp_connect, ftp_exec, ftp_get, ftp_login, ftp_nb_fput, ftp_put, ftp_raw, ftp_rawlist, highlight_file, ini_alter, ini_get_all, ini_restore, inject_code, openlog, passthru, php_uname, phpAds_remoteInfo, phpAds_XmlRpc, phpAds_xmlrpcDecode, phpAds_xmlrpcEncode, popen, posix_getpwuid, posix_kill, posix_mkfifo, posix_setpgid, posix_setsid, posix_setuid, posix_setuid, posix_uname, proc_close, proc_get_status, proc_nice, proc_open, proc_terminate, syslog, system, xmlrpc_entity_decode, mail

    так же было бы неплохо собирать в лог файл какие конкретно файлы отправляют спам и с какой строки, поскольку это постояннго будет причиной бана адерсов, так что за этим нужно будет следить.
    mail.add_x_header = On
    mail.log = syslog
    В этом сулчае прям в сислог, но можн ои в отдельный файл, ну и в мониторинг его .
    Так же нужно будет следить за очередью почты, при резких пиках нужно будет реагировать.

    Возможно понадобятся curl mpdf zend_optimizer (php 5.2) zend guzrd_loader ( 5.3) ioncube.
    и тому подобные специические темы.

    лично я собираю все это на ispconfig 3
    плюс модуль nginx, плюс своя кастомка.
    600 сайтов полет нормальный.
    Так же было бы неплохо подключить какой-то антивирус и сканить систему что-то типа ai-bolit.php или веб серисы.
    НО у вас точно должна быть функция быстрого отката,а для совсем древиних сайтов так и по крону можно их ломают так часто что все вышесказанное мало поможет.
    для особо жопных сайтов можно перевести их в html
    хостинг должен поддерживать letsencrypt а так же нужно мониторить что сертификаты могут выдаться, как правило в 99% панелей если хоть один из сертификатов не выдался не выдадутся и остальные.

    Могу предожить vestacp
    braynicp
    biyrix vm
    все они ставятся с одного клика, у каждого есть свои плюсы и минусы.
    Ну или как вариант
    у яндекс в kubernetas есть возможность вобще бесплатно хостить html сайты, а для php сделать впс, там и бэкапы слайсов можно делать, и примонтировать местное храниллище.
    Ответ написан
  • Где создается A-запись?

    Где угодно
    Физически это не имеет никакого значения
    Если у вас на сервере есть ДНС сервер и А запись осноного домена идет туда, то он может создать поддомены сам
    в вашем же случае проще будет создать поддомены там же где и А запись основного домена
    нааример

    site.ru  A  1.1.1.1
    www    A  1.1.1.1
    sub1      A  2.2.2.2

    Но тут уже зависит от веб морды которая у вас имееттся для редактирования ДНС
    Например у некоторых это будет по другому
    site.ru  A  1.1.1.1
    www.site.ru    A  1.1.1.1
    sub1.sute.ru      A  2.2.2.2

    или с @ что кстати вне стандарта RFC но используется
    @  A  1.1.1.1
    www.@    A  1.1.1.1
    sub1.@      A  2.2.2.2

    Не забывайте что DNS сервер всего -лишь сравнивает домен с А записью и в принципе ваш суб домен мог бы получить А запись еще на зоне RU если бы у вас там были такие подвязки и кто-то в их днс сервере смог ыб добавить эту А запись, по факту днс работает так
    www.site.ru.
    читаем с конца
    . нулевой уровень домена стоит в конце любого домена ( это вадельцы доменной зоны, да у нее есть физический владелец) и там днс сервер который знает всегоо лишь корневые домены, он знает зоны RU COM и тд и отдает их А запись, но он такой же днс сервер как и все остальные и мог бы уже отдать вашу а запись, но вместо этого ссылает этот вопрос другому днс серверу по NS записям пусть типа сам разбирается.
    соответственно RU уже ссылается на ваш домен и его НС сервер, он тоже может или сразу отдать записи или сослаться на другой днс сервер. и так далее, распределенная нагрузка.
    Соответственно все домены ниже купленного вами домена вы можете назначить в любой момент, или делегировать их на отдельный днс сервер.
    Ответ написан
    Комментировать
  • Hosting to Hosting Редирект. Уменьшить расходы?

    по моему очевидный ответ у вас на сервере стоит nginx
    собственно он проксирует на бэк в henzner вот и все айпи у вас местный а сервер только проксирует. Пойдет любая помойка.
    А как сделать nginx в режиме proxy можете найти по первой же ссылке, его в 50% случаев так и используют.
    Там и балансеры и все че хочешь есть
    и да будет видно что nginx проксирует, но простите nginx+apache конфигурация сейчас самая популярная и он там тоже проксирует.
    А какой апстрим локальный или внешний узнать нереально. единственное во всех манах в интернете ошибка, уж не знаю какого ляда. Но проксируйте http-http https-https а не на http.
    Ответ написан
    1 комментарий
  • PageSpeed и Манго calltracking. Как убрать неиспользуемый js код?

    shambler81
    @shambler81 Куратор тега 1С-Битрикс
    гугл пейдж спид пишет много рекомендаций. НО считает попугаев только п скорости сайта.
    То есть все его рекомендации только коственны, ему важна реальная скорость.
    Ответ написан
    Комментировать
  • Как заменить редирект с каталога на главную на универсальный?

    shambler81
    @shambler81 Куратор тега htaccess
    ############################################################################
    #### Стандартный .htaccess для проектов студии Клондайк, версия 4.6     ####
    ############################################################################
    RewriteEngine On
       #  Директива включает редиректы.
    RewriteBase / 
       # Без директивы (.*) = /$1 будет /var/wwww/site/web/$1  с директивой  = /$1
    Options +FollowSymLinks
       # Разрешает переход по символическим ссылкам.
    php_flag display_errors off
      # запретить отображение ошибок  (требование монитора качества)
    php_flag allow_url_fopen off
      # запретить  использовать удаленные файлы (требование проактивной защиты)
    
    ErrorDocument 404 /404.php
    
    php_value register_globals Off
    
    php_value mbstring.func_overload 2
    
    RemoveHandler .html .htm
    
    AddType application/x-httpd-php .php .htm .html
    
    DirectoryIndex index.php index.html index.htm
    
    php_value default_charset cp1251
    
    AddType 'text/html; charset=cp1251' .html .htm .shtml
    
    php_value mbstring.internal_encoding cp1251
    
    # ТЫ УВЕРЕН ЧТО cp1251 !!!!!???
    
    ############################################################################
    #### Выбор основного зеркала (с www или без www)                        ####
    ############################################################################
        # 1. Удалить www
    RewriteCond %{ENV:HTTPS} on
        #Если включен https
    RewriteRule .* - [E=SSL:s]
        #То создаем переменную  ssl с текстом s
    RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
        # Проверяем, содержит ли домен www в начале URL.
    RewriteRule ^(.*)$ http%{ENV:SSL}://%1/$1 [R=301,L]
        # Перенаправляем удаляем www
    
        # 2. Добавить www
    #RewriteCond %{ENV:HTTPS} on
        #Если включен https
    #RewriteRule .* - [E=SSL:s]
        #То создаем переменную  ssl с текстом s
    #RewriteCond %{HTTP_HOST} !^www\.(.*) [NC]
        # Если нет www в начале домена
    #RewriteRule ^(.*)$ http%{ENV:SSL}://www.%{HTTP_HOST}/$1 [R=301,L]
        #Подставляем www и https если он включен.
    
    ############################################################################
    #### Перенаправляем протокол https на http                              ####
    ############################################################################
    #RewriteCond %{HTTPS} on
       # Проверяем наличие https в URL.
    #RewriteRule ^.*$ http://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
       # Перенаправляем протокол на http.
    
    ############################################################################
    #### Перенаправляем протокол http на 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.
    
    ############################################################################
    #### Убираем index.php, если он есть в конце URL                        ####
    ############################################################################
    RewriteCond %{REQUEST_URI} ^(.*)/index\.php$
       # URL cодержит index.php в конце.
    RewriteCond %{REQUEST_METHOD} =GET
       # Выявляем GET запрос в URL (не POST).
    RewriteRule ^(.*)$ %1/ [R=301,L]
       # Удалить index.php из URL.
    
    ############################################################################
    #### Убираем повторяющиеся слеши (/) в URL                              ####
    ############################################################################
    RewriteCond %{THE_REQUEST} //
       # Проверяем, повторяется ли слеш (//) более двух раз.
    RewriteCond %{QUERY_STRING} !http(s|)://
      # Убедимся что это не урл в  GET
    RewriteRule .* /$0 [R=301,L]
       # Исключаем все лишние слеши.
    
    ############################################################################
    #### Убираем слеши в конце URL для статических файлов (содержит точку)  ####
    ############################################################################
    RewriteCond %{REQUEST_URI} \..+$
       # Если файл содержит точку.
    RewriteCond %{REQUEST_FILENAME} !-d
       # И это не директория.
    RewriteCond %{REQUEST_FILENAME} -f
       # Является файлом.
    RewriteCond %{REQUEST_URI} ^(.+)/$
       # И в конце URL есть слеш.
    RewriteRule ^(.+)/$ /$1 [R=301,L]
       # Исключить слеш.
    
    ############################################################################
    #### Добавляем слеш(/), если его нет, и это не файл.                    ####
    ############################################################################
    RewriteCond %{REQUEST_URI} !(.*)/$
       # Если слеша в конце нет.
    RewriteCond %{REQUEST_FILENAME} !-f
       # Не является файлом.
    RewriteCond %{REQUEST_URI} !\..+$
       # В URL нет точки (файл).
    RewriteCond %{REQUEST_URI} ^(.+)$
     # В URL есть хоть один символы
    RewriteRule ^(.*)$ $1/ [L,R=301]
       # Добавляем слеш в конце.
    
    
    ############################################################################
    #### Компрессия статического контента для гугл  спид тест               ####
    ############################################################################
    <IfModule mod_deflate.c>
      AddType image/svg+xml .svg
      AddOutputFilterByType DEFLATE image/svg+xml  
      AddOutputFilterByType DEFLATE application/rss+xml
      AddOutputFilterByType DEFLATE application/vnd.ms-fontobject
      AddOutputFilterByType DEFLATE application/x-font
      AddOutputFilterByType DEFLATE application/x-font-opentype
      AddOutputFilterByType DEFLATE application/x-font-otf
      AddOutputFilterByType DEFLATE application/x-font-truetype
      AddOutputFilterByType DEFLATE application/x-font-ttf
      AddOutputFilterByType DEFLATE application/x-javascript
      AddOutputFilterByType DEFLATE application/xhtml+xml
      AddOutputFilterByType DEFLATE application/xml
      AddOutputFilterByType DEFLATE font/opentype
      AddOutputFilterByType DEFLATE font/otf
      AddOutputFilterByType DEFLATE font/ttf
      AddOutputFilterByType DEFLATE image/svg+xml
      AddOutputFilterByType DEFLATE image/x-icon
      AddOutputFilterByType DEFLATE text/css
      AddOutputFilterByType DEFLATE text/html
      AddOutputFilterByType DEFLATE text/javascript
      AddOutputFilterByType DEFLATE text/plain
      AddOutputFilterByType DEFLATE text/xml
      AddOutputFilterByType DEFLATE image/svg+xml
    </IfModule>
    <IfModule mod_expires.c>
      ExpiresActive on
      ExpiresByType image/jpeg "access plus 1 year"
      ExpiresByType image/svg "access plus 1 year"
      ExpiresByType image/gif "access plus 1 year"
      ExpiresByType image/png "access plus 1 year"
      ExpiresByType text/javascript "access plus 1 year"
      ExpiresByType text/css "access plus 1 year"
      ExpiresByType application/javascript "access plus 1 year"
      ExpiresByType application/vnd.ms-fontobject "access plus 1 year"
      ExpiresByType application/x-font-ttf "access plus 1 year"
      ExpiresByType application/x-font-opentype "access plus 1 year"
      ExpiresByType application/x-font-woff "access plus 1 year"
      ExpiresByType image/svg+xml "access plus 1 year"
    </IfModule>
      <IfModule mod_headers.c>
      <filesmatch "\.(ico|flv|jpg|jpeg|webp|png|gif|css|swf|woff|pdf)$">
        Header set Cache-Control "max-age=31536000, public"
      </filesmatch>
      <filesmatch "\.(html|htm)$">
        Header set Cache-Control "max-age=7200, private, must-revalidate"
      </filesmatch>
      <filesmatch "\.(pdf)$">
        Header set Cache-Control "max-age=86400, public"
      </filesmatch>
      <filesmatch "\.(js|otf|ttf|woff|woff2)$">
        Header set Cache-Control "max-age=31536000, private"
      </filesmatch>
      </IfModule>
    ############################################################################
    #### Конец общей части, далее следует собственные директивы .htaccess   ####
    ############################################################################
    
    
    RewriteCond %{QUERY_STRING} wd_export=Y&pdf=Y
    RewriteRule ^(.*)\.php$ /$1.php? [R=301,L]
    
    RewriteCond %{QUERY_STRING} wd_export=Y&pdf=Y&pdf2email=
    RewriteRule ^(.*)\.php$ /$1.php? [R=301,L]
    
    RewriteCond %{REQUEST_URI} ^(.*)//(.*)$
    RewriteRule . %1/%2 [R=301,L]
    
    Redirect 301 /kraska-emal/ www.voronezh.optimaservis.su/kraska-emal-dlja-naru...
    #!!!!!!!!!!!!!!!!!!!!!!!!!!!!  ПРЯМ В УРЛЕ ТРИ ТОЧКИ В КОНЦЕ ? ????????
    
    Redirect 301 /sistema-skat/ www.voronezh.optimaservis.su/sistemy-svetovoi-indekacii
    Redirect 301 /katalog/$ /?
    
    RewriteCond %{REQUEST_URI} !^www.voronezh.optimaservis\.su/bitrix/admin/
    RewriteCond %{REQUEST_URI} ^(.*)/index\.php$
    RewriteRule ^(.*)index\.php$ http://%{HTTP_HOST}/$1 [R=301,L]
    #
    BrowserMatch "MSIE" force-no-vary
    BrowserMatch "Mozilla/4.[0-9]{2}" force-no-vary
    
    RewriteCond %{HTTP_HOST} kurgan.optimaservis.ru
    RewriteRule (.*) kurgan.optimaservis.su/$1 [R=301,L]
    
    SetEnvIf Referer ^https?://(?:.+\.)?advodka\.com/.*$ ban
    Deny from env=ban
    
    SetEnvIf Referer ^https?://(?:.+\.)?linkis\.com/.*$ ban
    Deny from env=ban
    
    SetEnvIf Referer ^https?://(?:.+\.)?prlog\.ru/.*$ ban
    Deny from env=ban
    
    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]


    я удалил противоположные директивы
    пометил те что сомнительны, в общем там у тебя каша еще та.

    зачем тебе?
    RemoveHandler .html .htm

    и это
    AddType application/x-httpd-php .php .htm .html
    Вы вначале прикрутили к битриксу html файлы теперь удаляете их названия в чем проифт ?

    DirectoryIndex index.php index.html index.htm
    Встречается 2 раза с разной последовательностью в чем прикол ?

    php_value default_charset cp1251
    AddType 'text/html; charset=cp1251' .html .htm .shtml

    ЭЭЭ у тебя 14 битрикс? давно уже по умолчанию UTF-8 точно у тебя сп?
    php_value mbstring.internal_encoding cp1251
    устарела, какой у тебя битриикс?

    Redirect 301 /kraska-emal/ www.voronezh.optimaservis.su/kraska-emal-dlja-naru...

    Реально урл такой?
    Ответ написан
  • Как правильно настроить apache?

    поставьте готовый веб ервер дабы они делаются в1 клик
    bitrix vm - 1 клик ставится с bash скрипта или готовая вм на выбор, консольная менюшка управлять легко.
    vestacp - ставится в 1 клик веб морда
    braynicp - веб морда в 1 клик
    ispcinfig3 - если хочется поковырятсья.
    Ответ написан