• Как настроить редирект на https для сайта со склеенными доменами?

    shambler81
    @shambler81 Куратор тега htaccess
    RewriteEngine On
    RewriteCond %{HTTP_HOST} ^site\.ru [NC]
    RewriteCond %{HTTP_HOST} (www\.|)site\.kz [NC]
    RewriteRule ^(.*)$ https://site.ru/$1\?city=my [R=301,L]
    Ответ написан
  • Кто какие принтеры использует под linux?

    shambler81
    @shambler81 Куратор тега Linux
    Все HP имеют все дроана для линукс притом в дистрибутеве. Остальные бренды не так трепетно к этому относятся.
    Ответ написан
    Комментировать
  • Как избавиться от дублей разделов в 1С-Битрикс?

    я сделал просто
    1. закрыл все фильтры и пейдженацию под аякс
    2. риал каноникал не на разделы а везде где есть гет запрос на страницу без него.
    Ну а чтоб избавиться от дублей разделов множественной привязки товара по свойствам.
    то тут просто
    ложешь товары в 1 инфоблок
    а свояства вяжешь как дерево секций.
    В таком случае урл товара всегда будет одинаковый. /catalog/item1
    хотя до этого в негопришли по ссылкам
    /holodilnik/krasniy
    /russian/holodilnik/big
    Ну и поработай с роботс .txt
    Ответ написан
    Комментировать
  • Нужно ли прописывать страницу ошибок в конфигурационных файлов обоих серверов, если веб-сервер работает в связке Apache + Nginx?

    ну это ваше дело
    я точно отрубаю аксесс лог в nginx ибо он мне не сильно интересен.
    А ерор лог врубаю толкьо при отладке.
    Ибо в него лезут все не найденые картинки и тд
    Тут надо смотреть что вы преследуете
    Меньше нагрузки - меньше логов
    Больше отладки - больше логов.
    Ответ написан
  • 301 редикт с любой вложенности, как?

    shambler81
    @shambler81 Куратор тега htaccess
    #  если минимум 1 символ до последнего конца строки, и убираем слеш еслион есть.
    RewriteCond %{REQUEST_URI} .*(/.+)(|/)$
    # то пенренаправить все  на сайт и то что в скобках.
    RewriteRule ^(.*)$ http://site.ru%1 [R=301,L]

    Получаем
    сайт/elektroinstrument/kategorii/perforatory/perforator-m12-ch-202c/ на сайт/perforator-m12-ch-202c/

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

    Теперь .htnl убираем

    RewriteCond %{REQUEST_URI} ^(.+)\.html$
    RewriteRule ^(.*)$ %1/ [R=301,L]
    Ответ написан
    9 комментариев
  • Возможно ли, что это ДДос и как бороться?

    shambler81
    @shambler81 Куратор тега Linux
    iotop -oka
    в СТУДИЮ
    Ответ написан
    Комментировать
  • Редирект в .htaccess с http + www на https + www?

    shambler81
    @shambler81 Куратор тега htaccess
    RewriteEngine on
    RewriteCond %{HTTP} On
    RewriteCond %{HTTP_HOST} !^www.(.+) [NC]
    RewriteRule (.*) https://www.%{HTTP_HOST}/$1 [R=301,L]

    помоему это очевидно.
    Ответ написан
    Комментировать
  • Проблема htaccess и редиректом на https, как решить?

    shambler81
    @shambler81 Куратор тега htaccess
    А что вам мешает добавить исключения в робот.txt ?
    Ответ написан
    Комментировать
  • Как во всемирной сети появляются сведения о новом сервере DNS?

    ЗАпрос к нему пойдет, поскольку вы его укажите Или
    А записе
    или в NS
    другим способом туда он и не пойдет только если с консоли укажите конкретный днс сервер у кого вы желаете это спросить.
    host -a ваш_сайт.ру днс_сервер_с_с_которого_хотите_спросить.ру
    Ответ написан
    Комментировать
  • Bash вставить несколько строк в файл после конкретной?

    shambler81
    @shambler81 Автор вопроса, куратор тега Linux
    Вот скриктец, у кого идеи есть по оптимизации, скажу спасибо.

    #тут указываем совой домен
    
    DOMAIN=mfwo.ru
    EMAIL=vtaran@wildorchid.ru
    
    #############################################################################################################
    #ставим гит, если его нет
    rpm -q git && echo "А гит уже стоит и мы его пропускаем" || yum install git
    # в этой папке и будет лежать сам дистрибутивчик cetbot, он нам нужен будет потом для  обновления ключиков.
    cd /root
    #проверяем  не скачан ли он уже и качаем если нет.
    test -d certbot && echo "Каталог уже есть, ниче не качаем" || git clone https://github.com/certbot/certbot
    cd certbot
    
    # Выставляем права  на файл
    chmod a+x ./certbot-auto || echo "проблема  правами на файл" && echo "Права  на файл поменяли успешно"
    
    
    # проверяем верен ли путь до сайта, и не сгенерирован ли уже ключик, если все ок генерим!
    test -d /home/bitrix/ext_www/$DOMAIN  || echo "/home/bitrix/ext_www/$DOMAIN.ru -нет такой директории"  && test -f /etc/letsencrypt/live/$DOMAIN/fullchain.pem && echo "А файл уже есть, не не генерируем новый !" || 
    ./certbot-auto certonly --webroot --agree-tos --email $EMAIL -w /home/bitrix/ext_www/$DOMAIN -d $DOMAIN -d www.$DOMAIN || echo "А не угадали с каталогом, проверяем пути" &&
    
    
    # коментит "include bx/conf/ssl.conf/ssl.conf;"  и добавляет строки
    # ssl_certificate /etc/letsencrypt/live/$DOMAIN/fullchain.pem;
    # ssl_certificate_key /etc/letsencrypt/live/$DOMAIN/privkey.pem;
    # ssl on;
    # keepalive_timeout 70;
    # keepalive_requests 150;
    # ssl_session_cache shared:SSL:10m;
    # ssl_session_timeout 10m;
    sed -i "s/ include bx\/conf\/ssl.conf\x3B/\ #include bx\/conf\/ssl.conf\x3B\n  ssl_certificate \/etc\/letsencrypt\/live\/$DOMAIN\/fullchain\.pem\x3B\n  ssl_certificate_key \/etc\/letsencrypt\/live\/$DOMAIN\/privkey\.pem\x3B\n  ssl on\x3B\n  keepalive_timeout 70\x3B\n  keepalive_requests 150\x3B\n  ssl_session_cache shared:SSL:10m\x3B\n  ssl_session_timeout 10m\x3B/g" /etc/nginx/bx/site_avaliable/bx_ext_ssl_$DOMAIN.conf && echo "замена  в конфигах прошал  без ошибок"
    
    # перед рестартом  проверяем валидность конфигов, если ок рестартуем.
    
    service nginx configtest && echo "Nginx  валидно завершил проверку конфигов" && service nginx restart 
    
    #certbot-auto renew
    #првоеряем нет ли записи в кроне и добавляем ее  
    echo "Записываем Автообновление сертификатов  крон"
    crontab -l | grep -q "\* \*/12 \* \* \*   cd /root/certbot/ \&\& \./certbot-auto renew >> /dev/null 2>\&1 "  && echo "А в кроне уже запись есть, ничего не добавляем" || echo "* */12 * * *   cd /root/certbot/ && ./certbot-auto renew >> /dev/null 2>&1 "  >> /var/spool/cron/root  
    
    echo "не забывайте про редиректы которые могут вести на http!!!!!!!!"
    Ответ написан
    Комментировать
  • Как сделать редирект?

    shambler81
    @shambler81 Куратор тега htaccess
    site.org/index5.php?t=gdz-po-iskusstvu-8-9-klass-s... - вопервых редирект матч не видит гет запросы
    и вам нужно собираь конструкцию по другому

    RewriteCond %{REQUEST_URI} ^index5.php$
    RewriteCond %{QUERY_STRING} (^|&)t=gdz-po-iskusstvu-8-9-klass-sergeev($|&)
    RewriteRule ^(.*)$ /? [L,R=301]

    Таким образом можно подцепить квери, посколькуо он не является частью урла.
    Ну и да ваш вопрос как удалить, просо нужно поставит ? вконце
    Ответ написан
    Комментировать
  • Можно ли как то ограничить доступ к файлам для клиента, по прямой ссылке. при такое схеме?

    shambler81
    @shambler81 Куратор тега Linux
    css+base64 само видео кодировать необязательно достаточно урлов
    Ответ написан
    4 комментария
  • Есть ли программа для редактирования конфигов nginx?

    perl -синтаксис
    Ответ написан
    Комментировать
  • Что использует swp?

    shambler81
    @shambler81 Куратор тега Linux
    в реальном времяни но свап наполняетсч очень медленно.
    swapoff -a && swapon -a
    Ответ написан
  • Как улучшить показатели PageSpeed сайта?

    shambler81
    @shambler81 Куратор тега htaccess
    Это вам больше поможет
    find /home/bitrix/ext_www/короче_тут_путь_до_сайта.ru/upload/resize_cache/ -type f -regex ".*\(jpg\|jpeg\|JPG\|Jpeg\)" -exec jpegoptim --max=85 {} \;


    ну и не забудьте поставить сам jpegoptim
    Он ставится с репазиториев.
    окол 30 пунктов добавит
    Ответ написан
    Комментировать
  • Как в .htaccess прописать следующее правило?

    shambler81
    @shambler81 Куратор тега htaccess
    Писал подробно тут https://klondike-studio.ru/standarts/standartnyy-h...
    Вобще семантически слеш должен стоять и редиректы должны идти на слеш.
    Короче я тут все расписывал, все что вам нужно это вывернуть наоборот.
    Но каждая строчка прокомментирована.
    Ненужное просто удалите.
    все это ставьте до активации ЧПУ ядра
    Ответ написан
    1 комментарий
  • Как настроить точку входа в апаче, если индексный файл лежит не в корневой директории?

    э, открыть конфиг исправить путь.
    перезапустить апачь, я думаю как-то так.
    Ответ написан
    3 комментария
  • Как в htacess запоролить весь сайт кроме /catalog_name/?

    shambler81
    @shambler81 Куратор тега htaccess
    ! - отрицание
    Ответ написан
    Комментировать
  • Вопрос по конфигу Nginx и Apache. Как настроить поддомены?

    Если для всех сайтов 1 конфиг
    server {
                listen   80 default;
                server_name  _;
                server_name_in_redirect  off;
                resolver  127.0.0.1;
                error_page 404 = @fallback;
                #--------------Все 404  отдаем на обработку апача-------------------------------
                location @fallback {
                    proxy_pass http://$host:82;
                    proxy_set_header Host $host;
                    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                    proxy_set_header X-Real-IP $remote_addr;
                }
                #--------------Статический контент отдаем на прямую-----------------------------
                location ~* ^.+\.(jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|js|swf|flv|mp3)$ {
                    root /var/www/$host/web;
                    access_log off;
                    expires 30d;
                }
                #--------------HTML Вывел отдельно посколку файлы могут быть динамические-------
                location ~* ^.+\.(htm|html)$ {
                    root /var/www/$host/web;
                    access_log off;
                    expires 30d;
                }
                # -------------Основнйо локейшен -----------------------------------------------
                location / {
                    root /var/www/$host/web;
                    index index.php index.html index.htm;
                    access_log      off;
                    proxy_pass http://$host:82;
                    proxy_set_header X-Real-IP $remote_addr;
                    proxy_set_header Host $host;
                    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                }
                #-------------- Настройки для phpmyadmin----------------------------------------
                location /phpmyadmin {
                    root /usr/share/;
                    index index.php index.html index.htm;
                    location ~ ^/phpmyadmin/(.+\.php)$ {
                    try_files $uri =404;
                    root /usr/share/;
                    proxy_pass http://$host:82;
                    proxy_set_header X-Real-IP $remote_addr;
                    proxy_set_header Host $host;
                    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                }
                location ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
                    root /usr/share/;
                }
                }
                location /phpMyAdmin {
                    rewrite ^/* /phpmyadmin last;
                }
                #------------- WEBMAIL----------------------------------------------------------
                location /webmail {
                    root /var/www/apps;
                    index index.php index.html index.htm;
                    proxy_pass http://$host:82;
                    proxy_set_header X-Real-IP $remote_addr;
                location ^~ /awstats-icon {
                    alias /usr/share/awstats/icon/;
                    access_log off;
                }
                location ^~ /awstatscss {
                    alias /usr/share/doc/awstats/examples/css/;
                    access_log off;
                }
                    location ^~ /awstatsclasses {
                    alias /usr/share/doc/awstats/examples/classes/;
                    access_log off;
                }
    }   # Закрывает весь server !!!


    Если конкретно у каждого свой
    server {
    #------- Server configuration---------------------------------------------------
    
            listen 80;
            server_name infoodessa.com www.infoodessa.com 176.31.8.150;
            root /var/www/infoodessa.com/web;
    
    #-------- Error page ----------------------------------------------------------
            error_page 404 = @fallback;
            location @fallback {
            proxy_pass http://infoodessa.com:82;
            proxy_set_header Host $host;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Real-IP $remote_addr;
    }
    #-------DEV--------------------------------------------------------------------
      error_page 555 = @pass;
            location @pass {
            auth_basic "Unauthorized";
            auth_basic_user_file /var/www/dev_htpasswd;
            proxy_pass http://infoodessa.com:82;
            proxy_set_header Host $host;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Real-IP $remote_addr;
    }
    
    # ------ Log configuration ----------------------------------------------------
            access_log off;
            #error_log /var/log/ispconfig/httpd/infoodessa.com/nginx_error.log error;
            #access_log /var/log/ispconfig/httpd/infoodessa.com/nginx_access.log combined;
    
    #------ static content --------------------------------------------------------
        location ~* ^.+\.(jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|js|swf|flv|mp3)$ {
            root  /var/www/infoodessa.com/web;
            access_log off;
             expires 30d;
    }
    #------ Locations configuration -----------------------------------------------
            # global locations
            # alias to local error docsinfoodessa.com www.infoodessa.com 
        location ^~ /error { root /var/www; }
    
        # default location
        location / {
            index index.php index.html index.htm;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_pass http://infoodessa.com:82;
            proxy_set_header Host $host;
    
    if ($http_host ~* "^(dev|old|www.dev)\..*\..{2,8}$"){
                    return 555;
                    }
                    if ($http_host ~* "^.*\.ks03\.ru$"){
                 return 555;
     }
    
    }
    #------- Directives configuration ---------------------------------------------
    #  для битрикс монитора
    add_header X-Content-Type-Options nosniff;
    add_header X-Frame-Options SAMEORIGIN;
    
     include /etc/nginx/locations.d/*.conf;


    Апачь висит на 82 порту

    <Directory /var/www/infoodessa.com>
            AllowOverride None
                    Order Deny,Allow
            Deny from all
        </Directory>
    <VirtualHost *:82>
    DocumentRoot /var/www/infoodessa.com/web
    ServerName infoodessa.com
    ServerAlias www.infoodessa.com
    ServerAlias www.109.74.130.76 109.74.130.76
    ServerAlias www.176.31.8.150 176.31.8.150
    ServerAdmin admin@rackster-server.ch
    ErrorLog /var/log/ispconfig/httpd/infoodessa.com/error.log
    
    Alias /error/ /var/www/error/
    <Directory /var/www/error/>
    Options +FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
    </Directory>
    ErrorDocument 400 /error/400.html
    ErrorDocument 401 /error/401.html
    ErrorDocument 403 /error/403.html
    ErrorDocument 404 /error/404.html
    ErrorDocument 405 /error/405.html
    ErrorDocument 500 /error/500.html
    ErrorDocument 502 /error/502.html
    ErrorDocument 503 /error/503.html
      <Directory /var/www/infoodessa.com/web>
       Options FollowSymLinks
       AllowOverride All
       Order allow,deny
       Allow from all
      </Directory>
    
      <Directory /var/www/clients/client2/web3/web>
       Options +FollowSymLinks
       AllowOverride All
       Order allow,deny
       Allow from all
       </Directory>
    
    
       <IfModule mod_suexec.c>
       SuexecUserGroup web3 client2
       </IfModule>
    
        # Clear PHP settings of this website
       <FilesMatch ".+\.ph(p[345]?|t|tml)$">
        SetHandler None
        </FilesMatch>
    
        # php as fast-cgi enabled
        # For config options see: http://httpd.apache.org/mod_fcgid/mod/mod_fcgid.html
        <IfModule mod_fcgid.c>
        FcgidIdleTimeout 300
        FcgidProcessLifeTime 3600
        # FcgidMaxProcesses 1000
        FcgidMinProcessesPerClass 0
        FcgidMaxProcessesPerClass 10
        FcgidConnectTimeout 3
        FcgidIOTimeout 1600
        FcgidBusyTimeout 3600
        FcgidMaxRequestLen 1073741824
        </IfModule>
    
                        <Directory /var/www/infoodessa.com/web>
                                <FilesMatch "\.php[345]?$">
                    SetHandler fcgid-script
                </FilesMatch>
                FCGIWrapper /var/www/php-fcgi-scripts/web3/.php-fcgi-starter .php
                FCGIWrapper /var/www/php-fcgi-scripts/web3/.php-fcgi-starter .php3
                FCGIWrapper /var/www/php-fcgi-scripts/web3/.php-fcgi-starter .php4
                FCGIWrapper /var/www/php-fcgi-scripts/web3/.php-fcgi-starter .php5
                    Options +ExecCGI
                    AllowOverride All
                    Order allow,deny
                    Allow from all
                         </Directory>
    
                            <Directory /var/www/clients/client2/web3/web>
                                    <FilesMatch "\.php[345]?$">
                        SetHandler fcgid-script
                    </FilesMatch>
                                    FCGIWrapper /var/www/php-fcgi-scripts/web3/.php-fcgi-starter .php
                    FCGIWrapper /var/www/php-fcgi-scripts/web3/.php-fcgi-starter .php3
                    FCGIWrapper /var/www/php-fcgi-scripts/web3/.php-fcgi-starter .php4
                    FCGIWrapper /var/www/php-fcgi-scripts/web3/.php-fcgi-starter .php5
                       Options +ExecCGI
                       AllowOverride All
                       Order allow,deny
                       Allow from all
                         </Directory>
    
                  # add support for apache mpm_itk
                    <IfModule mpm_itk_module>
                            AssignUserId web3 client2
                    </IfModule>
            </VirtualHost>


    В данном варианте мног лишнего для тебя, но удалить удаллишь.
    В этом варианте используется апач + mod_fastCGI
    В твоем скорее всего просто мод апач, следоватлеьно покорче будет.
    Да и много исключений для phpmyadmin и всякая хрень типа сайт начинающийся с dev. имеет пароль по умолчанию, но это мелочи, удалить сможешь всегда.
    Ответ написан
    Комментировать