• Как в RewriteRule или RedirectMatch перенаправить на ссылку с недопустимыми символами?

    shambler81
    @shambler81 Куратор тега htaccess
    RewriteRule ^TRPRE/37/О\-232\-885097$ /index.php? [L,R=301]
    Ответ написан
    Комментировать
  • Почему возникает бесконечный редирект в Laravel?

    редирект на индекс и убрать индекс
    думаю собака зарыта тут кэп
    так же ест сервисы которые показывают всю цепочку редиректов https://bertal.ru/index.php
    думаю вам нужно поменять местами эти правила поскольку чпу после индекса изменит урл
    Ответ написан
    Комментировать
  • Бэкап linux (папка + бд) с отправкой в windows?

    shambler81
    @shambler81 Куратор тега Linux
    пойдет ? только wput нужно доставить поскольку он позволяет ограничивать скорость
    так же можно сделать бэкап отдельного сайта в консоли сделав так scrypt.sh site.ru в таком случае будет дамп не всех сатов а только 1. Заточено под битрикс тут бд еще и складываются к сайтам. Если нужно просто все бд то нужно поменять 2 строчки и спрашивать список бд уже у mysql и в цикле дампить их
    #!/bin/sh
    # Пример пути до сайта /var/www/site.ru/web/
    SITEDIR="/var/www"                                  # Папка до названия доменаов
    WEB="web"                                           # Папка после названия доменов (если есть)
    DBCONN="bitrix/php_interface/dbconn.php"            # Откуда читать настройки mysql
    FTPUSER="1111111"                                   # Логин FTP сервера
    FTPPASS="22222222"                                  # Пароль FTP
    FTPHOST="u113948.site.ru"                           # сервер FTP
    FTPDIR="/ks03.ru/site/"                             # папка на FTP
    TMPDIR="/var/backup/site"                           # Где будут храниться временные файлы
    DATE=`date +"%Y-%m-%d"`                             # Формат даты в имени файла
    DATEYM=`date +%Y`/`date +%m`                        # Второй форматы даты
    LIST=${1:-`ls -L $SITEDIR | grep -E ".*\.\w{1,5}" | grep -v "restore.php" | grep -v "klondike.php"`} # Название сайта, тут выбор или аргумент или, регулярка  можно убрать только -L ;) ( не брать вот эти файлы )
    
    test ! -d $TMPDIR/$DATEYM && mkdir -p $TMPDIR/$DATEYM # создаем  структ уру каталогов если их нет
    
    for ELEMENT in $LIST
        do
                    if [ ! -f /$SITEDIR/$ELEMENT/$WEB/$DBCONN ];
                            then
                                echo " Файл $SITEDIR/$ELEMENT/$WEB/$DBCONN не найден, сайт будет без БД!"
                            else
                                mysqldump -u$DBLOGIN -p$DBPASS $DBNAME > $SITEDIR/$ELEMENT/$WEB/$DBNAME\-$DATE.sql && echo "Дамп БД $DBNAME будет сохранен в корне сайта"  ||  echo "Ошибка дампа базы данных " $DBNAME
                    fi
        echo "MySql, чтоб вам прям ну совсем не марать ручки"
        echo "$DBLOGIN"
        echo "$DBPASS"
        echo "$DBNAME"
        echo "Архивируем сайт $ELEMENT"
            tar -cvpzf $TMPDIR/$DATEYM/$ELEMENT-$DATE.tar.gz --directory $SITEDIR/$ELEMENT/$WEB --ignore-failed-read --exclude='./bitrix/tmp' --exclude='./bitrix/updates' --exclude='./bitrix/backup/*\.gz*' --exclude='./bitrix/backup/*\.tar*' --exclude='./bitrix/cache' --exclude='./bitrix/managed_cache' --exclude='./bitrix/stack_cache' --exclude='./upload/resize_cache' --exclude='./stats' . >> /dev/nool 2> /var/log/backup_error.log
            rm -f $SITEDIR/$ELEMENT/$WEB/$DBNAME\-$DATE.sql # поскльку ложим на реальный сайт, ибо нормально добавить в архив не получитяс.
    
            echo "Сохраняем $ELEMENT на FTP"
    
            echo "wput  --basename=$TMPDIR --limit-rate=60000K --timestamping  --remove-source-files --tries=2 $TMPDIR/$DATEYM/$ELEMENT-$DATE.tar.gz ftp://$FTPUSER:$FTPPASS@$FTPHOST$FTPDIR"
            wput --disable-tls --basename=$TMPDIR --limit-rate=60000K --timestamping  --remove-source-files --tries=2 $TMPDIR/$DATEYM/$ELEMENT-$DATE.tar.gz ftp://$FTPUSER:$FTPPASS@$FTPHOST$FTPDIR
            rm -f $TMPDIR/$DATEYM/$ELEMENT-$DATE.tar.gz
    echo -en "\n\033[37;1;41m Ссылочка:\033[0m \e[1;4;36mwget ftp://u148-sub4:W3qyu9NRcVVi51bN@$FTPHOST/$DATEYM/$ELEMENT-$DATE.tar.gz\e[0m\n\n" #ks02
      done
    rm -r $TMPDIR
    Ответ написан
  • Как правильно сделать разбор ссылки в htaccess?

    shambler81
    @shambler81 Куратор тега htaccess
    RewriteRule ^lot/([0-9]{1,})$ /\?lot=$1 [NC,L]
    так же не забывайте что GET не является часть RewriteRule и к примеру тот же ? физичек не может бы делен в нем

    если у вас прям вот такой урл с вопросом в конце то
    RewriteCond %{QUERY_STRING} (?:^|&)\$(?:$|&)
    RewriteRule ^lot/([0-9]{1,}))/$ /\?lot=$1 [L,R=301]
    Ответ написан
    Комментировать
  • Что не так с этим htacess?

    shambler81
    @shambler81 Куратор тега htaccess
    ну тут проще сказать что тут так

    1. я писал стандартный .htacces и в нем было все продумано, вы вырезали с него куски,натыкали в разные места и спрашиваете что тут пошло не так.
    К примеру у вас только один кусок отвечающий за убирание слеша, а добавлять слеш на каталоги ваше светейшество решило не делать ибо не судьба ?
    2. htaccess читается сверху в низ и последовательность важна
    3.
    верхнего в нижний регистр итд
    вы так же перемешали правила.
    ну тут чтоб без матюгов я отвечу коротко Линукс регистрозависимая система ( это реально если матюгов и пены) какой "умный" человек вообще придумал делать такие редиректы заслуживает отдельного места в аду.
    4.(Chrome/76.0.3809.10) - только данная версия остальные нет ?
    5.
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)/$ /$1 [L,R=301]

    это я так понимаю вы пытались удалить слешы у симлинков и файлов?

    6.#RewriteCond %{REQUEST_URI} !^/$
    ээ вас не смущает что таких ссылок в природе не бывает
    домен закрывается слешем до реврайт рул, то есть это должно быть site.ru//index.php

    в общем у вас правильно только часть ЧПУ движка и то странно разделена поо середине
    напишите что у вас за движок и что вы хотели получить этими редиректами я вам напишу как это должно выглядеть
    Ответ написан
  • REQUEST_URI в Apache чему равен?

    название домена/REQUEST_URI?=GET
    МЕЖДУ ДОМЕНОМ И ГЕТ ЗАПРОСОМ
    Ответ написан
  • Как изменить вывод grep?

    shambler81
    @shambler81 Куратор тега Linux
    find /etc/nginx  -type f  -exec grep -l 3dpaneli.ru {} \; | xargs ls -lah

    find - искать в каталоге
    -type f только имена файлов
    -execвыполнить команду с найденым файлом
    grep -l - не выводить сам греп а выводить имя файла в котором он нашел
    {} - то что на выводе у find
    \; - просто заканчиваем файнд
    |- вывод передаем следующей команде
    xargs ls -lah xargs почитай отдельно короче он передаст вывод пути файла на ls -lah и получаем все че хочеш
    5fd0f0daa8e29240627639.png

    если тебе нужно обрезать вообще все лишнее то тут уже можно awk в общем там уже будет проще удалить лишние колонки
    спасибо кэп, отметил как решенный.
    Ответ написан
    1 комментарий
  • Как сменить владельца на папке /etc?

    shambler81
    @shambler81 Куратор тега Linux
    chown root:root /etc
    Ответ написан
    Комментировать
  • Как настроить nginx тобы порт 80 работал и на http и на https?

    вы RFC ваще читать умеете ?
    вы новый интернет зачем придумываете?
    редирект на https, все !
    Ответ написан
  • Как сделать редирект если в конце цифры?

    shambler81
    @shambler81 Куратор тега htaccess
    Чисто по тз
    RewriteRule ^kak\-ukrasit\-interer\-rakushkami/32\-3/$ /kak\-ukrasit\-interer\-rakushkami/? [L,R=301]

    А вот если у вас всего две цифры тире 1 цифра
    https://regex101.com/r/5I0rz0/1

    А вот если синтаксис такой любое количество цифр тире любое количество цфр
    https://regex101.com/r/5I0rz0/2

    А вот скорее всего что тебе нужно
    https://regex101.com/r/5I0rz0/4
    [^\/]+ - любое количество символов но не слеш
    [0-9]{1,} - цифры от нуля до девяти от одного раза и больше

    (\/|) - слеш или его отсутствие в конце ( не обязательно)
    Ответ написан
    4 комментария
  • Проксирование в apache2 не работает как исправить?

    а что мешает тебе проксировать через php proxy дабы скрипт на гите всего строк 30
    отлично работает и не требует костылей в апаче ?
    Ответ написан
    Комментировать
  • Как поднять DNS сервер Ubuntu 18.04 для vestacp?

    первый домен NS сервера которого ты будешь указывать на остальных доменах тебе нужно будет
    1. зарегистрировать его если его нет.
    2. у регистраторов есть как правило в настройках днс указать днс и айпи, и ты обычно указываешь
    ns1
    ns2
    а тебе нужно указать айпи, собственно они и нужны на тот случай когда ДНС сервер расположен там где расположен сам домен/
    на этих скринах видно что есть поле для айпи и работает оно только когда домен делигируется на сервер где расположен сам домен
    deleg_off.png
    ac-org-ru.png
    В таком случае сам домен у тебя будет делигироваться на сервер где сам же собой управляет.
    3. На веста ты создаешь собственно этот домен
    и добавляешь к нему А записи
    www.site.ru
    ns1.site.ru A тут второй айпи
    ns2.site.ru A тут твой айпи

    4. соответственно теперь любой домен может сослаться на эти ns1.site.ru сервера и дальше все последующие домены делегируешь как обычно тупо на нс сервер первого домена.
    Если у тебя нет второго айпи то тут могут быть проблемы поскольку com зоны и еще некоторые требуют в обязательном порядке отличие IP у этих доменов.
    но и тут можно попробовать второй домен на ipv6
    Ответ написан
    Комментировать
  • Как можно добиться стабильной скорости записи и чтения сетевой папки (шары)?

    причем тут ваши настройки?
    если это вайфай то вопрос в качестве оборудования и занятости канала в текущем месте.
    Если это провод поставьте гигабит или 10 гигабит
    а так же проверьте качество подключения кабелей.
    Ответ написан
    1 комментарий
  • Как настроить проксирование сайта в nginx?

    у тебя проблема в том что все маны в интернете по настройке nginx+apache с ошибкой.
    Все они подразумивают перенаправление
    http -> http
    https -> http + костыль
    переделай как положено
    http -> http
    https -> https и все будет норм.
    убрав костыль у тебя в http host пропадет порт
    server {
    ######################################################################
    ## Server configuration 
    ######################################################################
    	listen *:443 ssl http2;
    		server_name 3dpaneli.ru www.3dpaneli.ru   ;
    	root /var/www/3dpaneli.ru/web;
    
    
    ######################################################################
    ## Enable gzip for proxied requests and static files
    ######################################################################
        # Enable gzip for proxied requests and static files
        gzip on;
        gzip_proxied any;
        gzip_vary on;
        gzip_http_version 1.1;
        gzip_types application/javascript application/json text/css text/xml;
        gzip_comp_level 4;
    
    ######################################################################
    ## SSL configuration
    ######################################################################
    # recommended but not manditory directive
    # leave commented out unless you know what it is doing
    #more_set_headers 'Strict-Transport-Security: max-age=15768000';
    	ssl on;
    	ssl_session_cache  shared:SSL:10m;
    	ssl_session_timeout 1h;
    	ssl_protocols TLSv1.2 TLSv1.3;
    	add_header Strict-Transport-Security "max-age=15768000" always;
    	ssl_stapling on;
    	ssl_stapling_verify on;
    	ssl_prefer_server_ciphers on;
    	ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
    	ssl_certificate /var/www/clients/client132/web171/ssl/3dpaneli.ru-le.crt;
    	ssl_certificate_key /var/www/clients/client132/web171/ssl/3dpaneli.ru-le.key;
    	ssl_dhparam /etc/nginx/ssl/dhparam.pem;
    ######################################################################
    ## Log configuration
    ######################################################################
    #Все логи отключены  
            error_log /dev/null crit;
            access_log off;
    
    
    ######################################################################
    ## Errors send to apache2
    ######################################################################
    # у апача своих алиасов куча,  а так же некоторая статика отдается 
    # средствамси php, по этому все ошибки обрабатывать только apache2
    	error_page 401 403 404 405 500 502 503 = @fallback;
    	location @fallback {
    		proxy_pass		https://127.0.0.1:4443;
    		proxy_set_header 	Host		$host;
    		proxy_set_header	X-Real-IP	$remote_addr;
    		proxy_set_header	X-Forwarded-For	$proxy_add_x_forwarded_for;
    		proxy_set_header	HTTPS		YES;
    		}
    
    ######################################################################
    ## Locations configuration
    ######################################################################
    #Отключаем логирование ошибок No such file or directory
    ## Disable .htaccess files
    
    	location ~ /\.ht {
    		deny all;
    
    		access_log off;
    		log_not_found off;
    	}
    	##
    	location = /favicon.ico {
    		log_not_found off;
    		access_log off;
    	}
    	##
    	location = /robots.txt {
    		allow all;
    		log_not_found off;
    		access_log off;
    	}
    	##
    ######################################################################
    # сервисы  на сайте phpmyadmin почта и letxencrypt
    	location /phpmyadmin/ {
    		deny all;
    		root  /usr/share/phpmyadmin/;
    	}
    	##
    	location /webmail/ {
    		rewrite ^/(.*)$ https://$http_host:8080/$1 permanent;
    	}
    	# letsencrypt 
    	 location /.well-known/acme-challenge/ { 
    	 	alias /usr/local/ispconfig/interface/acme/;
    	 	default_type text/plain;
    
    	 }
    # static content 
    # Отдаем статику напрямую с nginx
    	location ~* ^.+\.(jpg|jpeg|svg|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/3dpaneli.ru/web;
    		access_log off;
    		expires max;
    		gzip_static on;
    	}
    # default location
    	location / {
    		index index.php index.html index.htm;
    		proxy_pass		https://127.0.0.1:4443;
    		proxy_set_header 	Host		$host;
    		proxy_set_header	X-Real-IP	$remote_addr;
    		proxy_set_header	X-Forwarded-For	$proxy_add_x_forwarded_for;
    		proxy_set_header	HTTPS		YES;
    		}
    }

    ну и тоже самое без https

    server {
    	listen *:80;
    	server_name 3dpaneli.ru www.3dpaneli.ru   ;
    	root /var/www/3dpaneli.ru/web;
    ......
    proxy_pass		http://127.0.0.1:82;
    ....
    }
    Ответ написан
  • Какой командой можно заменить grep -A?

    shambler81
    @shambler81 Куратор тега Linux
    man ls | grep -A 1 "\-\-color\[=WHEN\]"
    5fc789b056429952359616.png
    -A 1 - after 1 строка после найденого
    '\-\-color\[\=WHEN\]' - экранируем спец символы

    Теперь можно или обрезать
    man ls | grep -A 1 "\-\-color\[=WHEN\]" | tail -n1
    tail - n1 показать 1 строчку с конца
    или
    man ls | grep -A 1 "\-\-color\[=WHEN\]" | grep -v =WHEN

    -v отрицание

    Но если задача стоит более серьезно например описание может быть больше одной строки двух или фиксированного количества то тут нужно делать по другому grep тут не помошник awk ваше все поскольку поддерживыает и регулярки и многострочность и условия;)

    как вариант можно в мане узнать где расположен файл мана ls и спарсить уже с него данные
    Ответ написан
    Комментировать
  • Как сделать bash скрипт который устанавливает lamp сервер?

    shambler81
    @shambler81 Куратор тега Linux
    vestacp (бесплатный веб морад) в 1 клик
    brainycp (проприетарный но бесплатный) в 1клик
    ispconfig3 (бесплатный есть веб морда) + есть на гите скрипты а вот моя личная конфа
    bitrix vm ( бесплатный только центос и консольная морда) отличная оптимизция производительности, готовые вм машины на любую виртуализацию, есть и прсто sh скрипт
    и тд
    Все это ставаится баш скриптом с веб или консольной мордой. Все затебя уже сделали.
    Ответ написан
  • Как в .htaccess сделать подмену файла robots.txt на robots.php?

    shambler81
    @shambler81 Куратор тега htaccess
    ЭЭ простите ну не указывайте 301 в чем проблема то ?
    RewriteEngine On
    RewriteBase /
    RewriteRule ^robots.txt$ /robots.php [L]
    Ответ написан
    6 комментариев
  • Как проксипасить https на http?

    вот я раз пять прочитал и мне понимание чего вы хотите так и не пришло, вот реально старался какой-то бред написан.
    Вы опишите реально саму проблему а не то что вы хотите сделать.
    и я вам скажу что нужно для этого сделать
    если у вас бэк на https а фронт нет, то в чем проблема то ?
    фронт это прокся ей плевать ващет на сертификат сзади.
    вы бы хоть свой конфиг сюда дали а то телепатия сегодня не очень, там магнитные бури, рептилойды. все дела.

    короче вангую
    server {
               listen *:80;
               server_name 3dpaneli.ru www.3dpaneli.ru   ;
                root /var/www/3dpaneli.ru/web;
    ....
      location / {
                    proxy_pass              https://127.0.0.1:443;
                    proxy_set_header        Host            $host;
                    proxy_set_header        X-Real-IP       $remote_addr;
                    proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
                                    }
    ......
    }


    Вам это нужно ?
    Ответ написан
  • Что делать, если с именем нашего стартапа зарегистрировали торговую марку в США?

    В вашем случае все достаточно сложно поскольку, сложно не безнадежно а именно сложно

    1. Товарный знак товарному знаку рознь, там очень много моментов к примеру "уровень смшения" и тд
    2. Там множество тонкостей и если я говорю множество то их овер дохига.
    3. Вам нужно обратиться к специалистам и именно в товарных знаках притом с международной практикой поскольку международные законы это не россия, там все по другому.
    И да там куча черных схем подложей платежей и тд знаю не по наслышке поскольку моя жена работает в этой сфере уже не первый год, то то я уже успел наслушаться историй (консультирую по IT), там полный ппц.
    По факту многие корпорации только и занимаются тем что отжимают у других товарные знаки и перепродают
    В общем там реально настолько большая бездна что вы сами адекватно туда не залезете, там без бутылки и опыта работы в этой сфере нечего делать а вероятность бесплатной консультации ровна нулю поскольку у каждой компании все индивидуально вплоть до вида ком деятельности ( это тоже имеет значение).
    Даже чтоб тупо что-то вам порекомендовать нужно потратить несколько дней на изучение материалов.
    В общем ответ один
    Вам нужна реально платная консультация специалиста который шарит в этом узком спектре
    это именно:
    Юрист работающий в сфере защита авторских прав. С опытом работы на международном уровне. Со знанием английского.
    вот ;)
    Ответ написан
    Комментировать
  • Nginx proxypass cache и php, как правильно настроить?

    shambler81
    @shambler81 Куратор тега Linux
    в 99% случае было бы целесообразнй поработаь с кодом самого сайта это факт, улучшить систему кеширования переделать самые тяжелые запросы как правило при разрастание проекта такое не редко, и тут добиться производительности можно куда быстрей чем через костыли.
    так же не забывайте что если часть сайта не хотите кешировать то сделайте отдельный локейшен под эхто мероприятие.
    Так же есть особые рекомендации в индивидуальном порядке каждому движку.
    Так же не забывайте что даже смена версии пхп может сильно улучшить ситуацию опять же нужно смотреть что у вас, если вы на 5.6 то точно 100% да
    и даже если на 7.0
    не забывайте что так же у вас должен быть подключен opcache и качественно отстроены конфиги apache nginx и mysql это вам тоже должно дтаь отличный буст.
    до 50К посетителей сайт должен справляться на одном сервере без костылей.
    так что больше вводных
    какие версии че за по сслку на сайт ( это не сеерет, вы еще и за директ платите чтоб я ее узнал)
    Ответ написан
    Комментировать