Задать вопрос
  • Как правильно настроить комментарии к новостям?

    shambler81
    @shambler81 Куратор тега 1С-Битрикс
    правильный вариант - удалить модуль форум!
    Собирай на ньюслисте , форум не обновляется уже лет 8, и он кривой и косой, по сути на него забили уже давным давно, это самый заброшенный модуль, пожалуй круче только медиа галерея, на нее вообще поклали;), даже интерфейс не переисовали
    Ответ написан
    1 комментарий
  • На bootstrap можно сделать такую carousel? Если можно, то как?

    можно но как показывает практика все верстаки по тем или иным причинам не используют стандартную анимацию.
    По факту вообще ее можно смело удалять из bootrap.
    Так что ответ да можно но смысла нет
    А учитывая что гугл осатанел с требованиями к сайту то выбрать 1 js и по возможности использовать ее для всей анимации каруселек и слайдеров на сайте.
    Ответ написан
    Комментировать
  • Почему не работает перехват несуществующих доменов в NGINX?

    Уже отвечал сегодня на этот вопрос, и коллеги сказали что все уже давно работает а вам кажется
    Ключи вначале потом стулья
    listen 443 ssl;
           server_name default_server ;
           ssl_certificate        /etc/ssl/certs/ssl-cert-snakeoil.pem;
           ssl_certificate_key    /etc/ssl/private/ssl-cert-snakeoil.key;
           root /var/www/html;
           return 444;
    }

    Работает сайт по HTTPS версии IP. Как исправить?
    Ответ написан
    Комментировать
  • Работает сайт по HTTPS версии IP. Как исправить?

    Господа не выдумываем велосипед
    Работа HTTPS в корне отличается от HTTP
    При обращение по http ты вначале получаешь имя сайта из отета сервера на основание этого имени подставляется конфиг.
    НО при HTTPS вы вначале получаете ключи, и только после этого множите получить хоть байт информации с канала.
    Как следствие этого два постулата:
    1. Если у вас есть хоть один сайт с https у всех остальных он появляется автоматически, хотите вы этого или нет, поскольку механизм разобра конфигов идет после установления канала, это фундоментально!
    Так что при обращение по IP вы в любом случае получите ключи https, поскольку это тупо демон на порту.
    2. Если нет пары ключей для именно этого домена, в частности IP будем считать как домен не имеющий явных ключей для себя. ТО от безвыходности веб сервер берет БЛИЖАЙШИЕ ключи сортируя их по имени то есть как правило это 000-default.conf
    В котором у вас лежат как-раз таки дефолтные ключи, может быть даже самоподписаные, НО только после этого у вас возможно получене http reffer.
    ну все что остается это завести ненужного товарищя в тупик
    например вот так.

    server {

    listen 443 ssl;
           server_name default_server ;
           ssl_certificate        /etc/ssl/certs/ssl-cert-snakeoil.pem;
           ssl_certificate_key    /etc/ssl/private/ssl-cert-snakeoil.key;
           root /var/www/html;
           return 444;
    }

    Но не пытайтесь ограничить сайт по именам до получения ключей это просо невозможно
    Намного проще сделать отдельный конфиг для этого айпи и уводить его в ловушку. чем ловить чего через default_server
    Ответ написан
    6 комментариев
  • Как понять запись в htaccess?

    shambler81
    @shambler81 Куратор тега htaccess
    RewriteCond %{REQUEST_FILENAME} - если этот файл
    -d - является директорией
    Не ! отрицание
    в сумме если это не директория
    RewriteCond %{REQUEST_FILENAME} ! -f- соответственно если это не файл
    RewriteCond +RewriteCond+RewriteCond и так далее пока не появится RewriteRule
    а следоватлеьно первые два правила сложились.

    то Перенаправить все(.*)на index.php сохранив GET QSA
    Ответ написан
    Комментировать
  • Как в nginx подключать ssl если файл сертификата присутствует?

    server_name ~^(www\.)?(?.+)$; - это что за самодеятельность ? это ваще зачем?
    Во первых вы нарушаете философию самого nginx - сам создатель nginx не один раз говорил что !!!
    НАМЕРЕННО не вводил нормальное использование переменных в файлах конфигурации, поскольку куда как правельней 10 раз скопировать кусок файла нежеле забивать ее переменной, не обломится админ скопировать две строчки .
    И я вам могу сказать что он прав.
    2. Вы при генерации сайта все-равно какими-то средствами это делаете, ВЫ ЖЕ НЕ ПИШИТЕ ВСЕ РУКАМИ, ПРИ НАЛИЧИЕ МИЛЛИОНОВ ВЕБ ИНТЕРФЕЙСОВ?
    3. Если вам прям так не имется с проблеммой ввв, сделайте банально линку на папку c www,и не нужно изголяться.
    4. Работа с сертификатом и без него принципиально отличается, КАК МИНИМУМ тем что при обращению по http вначале получается имя домена а потом работа.
    ПО HTTPS вначале работают ключи а только после этого в этом канале можно получить хоть байт информации, включая имя сайта. так что не выдумывайте велосипед.
    Генерируйте конфиги для каждого сайта, а я бы еще рекомендовал отдельно для http и https в таком случае ошибка в одном из них не приводит к падению второго интерфейса.
    ну а дефолтный конфин нужно назвать 000-default... - где 000 говорит о том что он будет первым при выдачи ( посколкуь как я вам расписывал в пункте4 если сайт не имеет https о этом он физически может узнать только получив ключи, как следствие веб сервер возьмет " ближайшие" а сортировка у него именно по буквам ;) 00 просто первые ;)
    Ну и банальное удобство, разные сайты требуют доп изменений в конфигах.
    А следовательно куда в вашей модели их писать?
    Ответ написан
  • Сайт недоступен по www. Дело в индексации?

    shambler81
    @shambler81 Куратор тега 1С-Битрикс
    А запись www есть ? и она ведет на тот же сервер ?
    Ответ написан
    Комментировать
  • Почему после обновления пакета mysql конфигурационный файл вернулся к дефаулту?

    shambler81
    @shambler81 Куратор тега Linux
    имено по этому я /etc в принципе бэкаплю каждый день ;)
    Ответ написан
  • Как оптимизировать сервер под тяжелые скрипты с небольшим количеством пользователей?

    очень большая тема.
    В общем
    1. поставь bitrix vm - там 95% уже сделано
    увеличь время с 300 до 1500 в nginx и в принципе этого хватит.
    Ответ написан
    Комментировать
  • Как настроить переадресацию без www с учетом https?

    shambler81
    @shambler81 Куратор тега htaccess
    вариант без указания домена
    RewriteCond %{ENV:HTTPS} !on    [OR]
    RewriteCond %{HTTP_HOST} ^www\.(.+) [NC]
    RewriteRule (.*) https://%1/%{REQUEST_URI} [R=301,L]
    Ответ написан
  • Правда ли, что сейчас так сложно найти работу?

    скажу вам с другой стороны
    1. программисты смотрят хар, где выкладывают фотки гугл яндекс hh и все думают что рабработка это вот так, офис с гамакам и выделеным шефповором для суши.
    2. Следствие этого становятся следующие постулаты
    а ) я уже что-то знаю по этому я буду работать именно так
    б) я буду работать за дорого
    в) я в отличие от всего рынка интернет буду работать на удаленке эффективней чем в офисе ( хотя мировая практика показывает -50% производительности)

    В следствие этого я смотрю по 10 сотрудников в неделю
    все они страдают следующими минусами
    несоразмерное отношение ожиданий к знаниям, как правило это в разы
    Когда сотрудник по факту стоит 50 К и его нужно учить уже требует 200К и свободный график.
    Когда задаешь ему вопрос как ты можешь получить 200К ты ведь должен минимум принести 400 компани
    что в среднем по рынку 2000в час это уже с переработкой.
    на это у него тишина ( 99% ) всех собеседуемых.
    НО и это не главное, а то что в теории народ плавает, то что не в состояние из 50 вопросов ответить на 25.
    Порой разработчик php не знает какая сейчас актуальная верия и уж тем более сказать что в нем нового.
    В таких условиях большенство разработчиков прост слишком завысили свои ожидания, забывая о главном
    В интернтете рынок данной услуги один из самых больших и оооооооочень сильно перегрет фрилансерами и школьниками, демпингуя рынок, по факту вашу работу очень трудно продать даже если вы заслживаете своих денег поскольку школота не конкурирует например в B2B сегменте, но опосредованно влияет на цены.

    Будьте прффесионалом, не на словах а на деле и вы всегда устроить на работу.
    Если же вы хотите более 300 то вы должны понимать азы коммерческой деятельности , должны понимать что такое трудочас, как считается прибыль, и где вы столько денег заработаете компании.
    Если вы на эти вопросы легко ответите, то вас возьмут в любую компанию.
    Ответ написан
    6 комментариев
  • Почему появляется 404 ошибка в детальной Битрикс?

    shambler81
    @shambler81 Куратор тега 1С-Битрикс
    Вот для битрикса.
    https://klondike-studio.ru/standards/standartnyy-h...
    Поставьте его если не сработает то ошибка в коде.
    или настройках сервера
    какая ОС используется, битрикс вм ?
    Ответ написан
    Комментировать
  • Welcome to nginx - как попасть на сайт?

    1. какая веб морда
    2. какие демоны еще
    3. конфиги apache
    4. 0.0.0.0 - че за айпи такой?
    Ответ написан
    Комментировать
  • Как правильно сделать 301 редирект для большого количества страниц?

    shambler81
    @shambler81 Куратор тега htaccess
    дайте хоть нескольо ссылок
    посколкьу в данный момент видна логика измения цифр на единицу выше и условие до 60, не уверен что вам нужно сдвинуть цифры на единицу
    а желательно дайте все урлы.
    И да порой приходится делать по 5К редиректов а не по 60
    Ответ написан
  • Почему в linux нерекомендуют постоянно использовать root учетную запись?

    shambler81
    @shambler81 Куратор тега Linux
    не имея доступа до критических файлов вы не можите.
    1. заразиться вирусом ( вот вообще не можете)
    2. Повредить по
    3. конфедициальность ос обеспечивает сама ос, вы просто привыкли к винде, это вообще нормально не работать от админа.
    Подумав над этим вы придете к мысли что это куда логичней чем работать от рута.
    Однако на серверах я работаю всегда от рута, посколкьу мне хватает и знания и опыти и понимания того что я и как делаю в полном объеме, и понимаю риски.
    Ответ написан
  • Не корректно работает rewriteRule в htaccess?

    shambler81
    @shambler81 Куратор тега htaccess
    RewriteEngine on
    RewriteBase /
    Options +FollowSymlinks
    AddDefaultCharset UTF-8
    ErrorDocument 404 /404.php
    
    
    ############################################################################
    #### Выбор основного зеркала (с www или без www)                        ####
    ############################################################################
       # 2. Добавить www
    RewriteCond %{ENV:HTTPS} on
        #Если включен https
    RewriteRule .* - [E=SSL:s]
        #То создаем переменную  ssl с текстом s
    RewriteCond %{HTTP_HOST} !^www\.(.*) [NC]
        # Если нет www в начале домена
    RewriteCond %{REQUEST_URI} !^/robots.*
    	# ваш robots.txt
    RewriteRule ^(.*)$ http%{ENV:SSL}://www.%{HTTP_HOST}/$1 [R=301,L]
        #Подставляем www и https если он включен.
    ############################################################################
    #### Перенаправляем протокол http на https                              ####
    ############################################################################
    RewriteCond %{HTTPS} off
       # Проверяем наличие https в URL.
    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)$">
      	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   ####
    ############################################################################
    
    RewriteRule ^([^/.]*)/?$             	      index.php\?la\=$1 [QSA,L]
    RewriteRule ^(.*)/(.*)/?$                     index.php\?la\=$1&url\=$2 [QSA,L] #/ru/forecast/
    RewriteRule ^(.*)/(.*)/(.*)/?$                index.php\?la\=$1&url\=$2&country\=$3 [QSA,L] #/ru/forecast/Russia/
    RewriteRule ^(.*)/(.*)/(.*)/(.*)/?$           index.php\?la\=$1&url\=$2&country\=$3&region\=$4 [QSA,L] #/ru/forecast/Russia/Murmansk
    RewriteRule ^(.*)/(.*)/(.*)/(.*)/(.*)/?$      index.php\?la\=$1&url\=$2&country\=$3&region\=$4&city\=$5 [QSA,L] #/ru/forecast/Russia/Murmansk/Apatity
    RewriteRule ^(.*)/(.*)/(.*)/(.*)/(.*)/(.*)/?$ index.php\?la\=$1&url\=$2&country\=$3&region\=$4&city\=$5&dop\=$6 [QSA,L] #/ru/forecast/Russia/Murmansk/Apatity/10days - <b>ЗДЕСЬ ПРОБЛЕМА!!!</b>
    
    #########RewriteCond %{THE_REQUEST}  !images
    ########RewriteCond %{THE_REQUEST}  !tr
    ######## А где рул !!!

    Я тут подправил некоторые пункты, так что можешь посмотреть.
    теперь что по поводу твоей пролемы, тут все просто, у тебя частные случаи срабатывают позней общих.
    А в .* у тебя включиться может и / так что это удовлетворяет условию
    если ты хочешь их исключить то пожалуйста вставь в каждую группу [^/] - исключить символ
    ну или попробуй просто поменять местами. как я тебе показал, возможно этого вполне хватит поскольку .htaccess читается с верух в низ. и правила применяются вначале сверху потом снизу ( если до него дойдет)
    Ответ написан
    1 комментарий
  • Существуют ли адекватные сторейдж сервиcы (клауды) для хранения бэкапов?

    Как всегда у них цены самые низкие, да и тарифы вкусные
    https://ru.hetzner.com/hosting/produktmatrix/stora...
    Из цены убрать еще 20% НДС, вернут
    Ответ написан
    1 комментарий
  • Как вывесить локальный ресурс в интернет?

    что-то вроде этого ?
    https://github.com/fireshaper/MostlySecureCameraViewer
    Ответ написан
    Комментировать