• Как правильно сделать 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
    Ответ написан
    Комментировать
  • Как определить свободное место на диске Ubuntu?

    shambler81
    @shambler81 Куратор тега Linux
    df выдает данные в байтах
    Ответ написан
    Комментировать
  • С чем связана ошибка в битрикс?

    Allowed memory size

    По моему тут написана проблема, какие миллионы вариантов?
    Ответ написан
    Комментировать
  • Можно ли разместить на одном хостинге (ip) три сайта и как это будет влиять на ранжирование?

    Нормально это будет выглядеть, все хостинги именно так и размещают.
    Все там нормально будет с SEO не парьтесь
    Все веб сервера имеют один и тот же костыль не по RFC tcp\ip
    они могут держать несколько сайтов на одном и том же порту на том же айпи.
    Сделано это как вы понимаете для уменьшения количества используемых айпи и используется в 100% веб серверов.
    Да при использование одного айпи могут быть проблемы, например со спамностью писем всего айпи, но сами сайты и их позиции в интернете это не влияет..
    Ответ написан
    Комментировать
  • Что использовать для монтирования YandexDisk/WebDAV под Linux с шифрованием?

    shambler81
    @shambler81 Куратор тега Linux
    создаеш файлик (файл это блочное устройство) форматируешь его под ext2, кидаеш его на яндекс диск монтируешь файлик аки диск в системе, наслаждааешся ;)
    Только не надо говорить что ты не разу не форматировал файлы под файловую систему
    пример dvg /iso
    Ответ написан
    2 комментария
  • Как сейчас выглядит нормальная система сборки / мониторинга?

    monit-it.ru
    Для старта пойтет вот это
    из особенностей
    поддержка плагинов nagios
    и главное, подключается по ssh и может выполнить команду вернуть себе код сделать выводы.
    Ну и особо важное при алиарде можно выполнить консольную команду.
    А главное это хрень облачное и не нужно следить за самой системой мониторинга.
    Для мониторинга инфроструктуры яндекс явно не пойдет, а вот для своих проектов нормально.
    Я монитрю в ней окол 20 серверов, 600 сайтов, в принципе хватает.
    А главное как вы и просили минимальный уровень входа.
    Ответ написан
    4 комментария
  • Почему при переносе сайта на 2 сервера снизилась производительность БД?

    1. естественно замедлил, даже обращение через локальный домен и localhost разница есть, посколкьу задействуется DNS сервер и ETH0
    а уж сервер расположеный я так пониимаю не в том же датацентре, да еще и не соедененые физически шнурком, дают просадку.
    2. Покажите конфиши mysql
    2. нужно смотреть конфиги сервера можно их конечно немного подкрутить, но есть очерь простые средства.
    Например перейти нановые процессоры I9 ну и ксеоны их аналоги.
    Вот пример на битрикс вм
    База данных MySQL (запись)	12 694	5 600	количество запросов на запись в секунду
    База данных MySQL (чтение)	81 827	7 800	количество запросов на чтение в секунду
    База данных MySQL (изменение)	23 374	5 800	количество запросов на изменение в секунду

    Думаю комментарий излишен.
    3. что можно сделать
    innodb_flush_log_at_trx_commit = 2 заменить на innodb_flush_log_at_trx_commit = 0
    так же оптимизировать количество подключений и тд, но это уже нужно анализировать сайт.
    так же нужно поработать с кешем на самом сайте.
    оптимизировать изображения, включить объедененый кеш css js и тд.
    Обязательно задрать php до максимальной версии, в идеале 7.3 да вм по умолчанию тянет 7.1
    В общем там целый пласт работ что можно сделать.
    Но в вашем случае у вас медленный впс и самое разумное это поменять его.
    вот это порвет ваш сервер раз в 15
    https://ru.hetzner.com/hosting/produkte_rootserver...
    12 ядер по 5 GHz
    https://ru.hetzner.com/hosting/produkte_rootserver...
    тоже более чем достаточно 8ядер
    цены -20%ндс поскольку в германии их нет.
    В россии пока только только появляются процессоры на 2 покаления слабее, а для mysql важна скорость работы на одно ядро а не их количество, так что если вы возьмете 128 ядерник с 3 ghz то и получите машину соппоставимую с плохой офисной тачкой ( пардон 128 ) плохими офисными тачками.
    Ответ написан
    1 комментарий
  • Можно ли такое реализовать?

    фанфары
    вам нужен не DRP а RDG - это штатное хозяйство windows
    в интернете мало манов и он почему-то плохо распиарен но подключение через веб морду в RDP+SSL
    естественно штатное на IIS

    так же на просторе легко нашлось и apache решение, в общем все уже придумано для вас
    Как получить доступ к Remote Desktop Gateway на Windows 10?
    guacamole.apache.org
    Ответ написан
  • Сайт выполнил переадресацию слишком много раз. Как исправить?

    shambler81
    @shambler81 Куратор тега htaccess
    .htaqccess в студию
    в access.log посмотрите конкретно что в цикле
    Ответ написан
  • Как собрать Linux Mint на основе пакетного менеджера NIX?

    shambler81
    @shambler81 Куратор тега Linux
    простите а зачем?
    Ответ написан
    Комментировать
  • Как сильно упадет сайт по SEO после смены домена?

    странный вопрос, до нуля
    ну а после переиндексации как пойдет
    Ответ написан
    Комментировать
  • Как изменить url с GET параметрами .htaccess?

    shambler81
    @shambler81 Куратор тега htaccess
    Конкретно по ТЗ
    RewriteCond %{QUERY_STRING} (^|&)username\=georgii($|&)
    RewriteRule ^profile$ /profile/georgii? [L,R=301]

    А тут я вангую что вам нужно не только 1 гет параметр а любой из них
    RewriteCond %{QUERY_STRING} (^|&)username\=(.+)($|&)
    RewriteRule ^profile$ /profile/%2? [L,R=301]

    И Да делается по нормальному это через ЧПУ
    Примерно так

    <IfModule mod_rewrite.c>
    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]
    </IfModule>

    А дальше уже обрабатывает php в 99% CMS это уже реализовано.
    Ответ написан
    Комментировать
  • Как сделать такой 301 редирект?

    shambler81
    @shambler81 Куратор тега htaccess
    Так же у вас будет проблемма и с
    https://site.ru/category/?page=1
    https://site.ru/category/?page=2
    https://site.ru/category/?page=3
    Поскольку пара урл запрос и тайтлы и дескрипшены будут не уникальные, ч то может плохо повлиять на СЕО
    поскольку дубли страниц "канибализируют запрос" особенно это важно для низко и средничастотных, посколкьу в таком случае они могут еще и меняться в выдаче.
    и того решение
    1. Риал каноникал вшытое в шапку, критерий следующий если есть гет параметр то ссылка на страницу без GET.
    В индексе вообще не должно быть ни одной страницы с гет параметром.
    2. Убрать вообще пейдженацию сейчас есть отличное и рекомендованное решение от гугл https://developers.google.com/web/fundamentals/per...
    3. убрать пейдженацию за аякс
    4. исключить пейдженацию в robots.txt как страницы закрытые от индекса
    Ответ написан
    Комментировать
  • Bitrix CMS важен ли модуль "проактивная защита"?

    Да нужна так же на стартен нет реально множества нужных функций
    так что минимальная версия битрикс это "стандарт" даже для лендинга.
    Просто возьмите это за постулат.
    Ответ написан