Задать вопрос
  • Как в .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. имеет пароль по умолчанию, но это мелочи, удалить сможешь всегда.
    Ответ написан
    Комментировать
  • Bash. Как отправить файлы по SSH из рез-та переменной?

    shambler81
    @shambler81 Куратор тега Linux
    как вариант можешь передать через wput ставится с репок и ограничить скорость передачи можно.
    как друго йвариант банальный
    find /backup -type f -mtime -1p -exec  rsync -avz -e "ssh -p 2222"  {}  admin@123.45.67.89:/home/backup/  \;

    у файнд есть -exec
    врод {} вывод массива
    единственное надо посмотреть по спепцсимволам но вроде как-то так.
    Ответ написан
    9 комментариев
  • SSH подключение?

    shambler81
    @shambler81 Куратор тега Linux
    не вижу проблемы в принципе.
    А в чем проблема ?

    Конфигурировать ниче не нужно в принципе
    Это базовый функционал ssh
    притом там вариантов даже на вскидку штуки 3
    1. выполнение команд на другом сервере. https://www.shellhacks.com/ru/ssh-execute-remote-c...
    2. Тунелирование
    3. shfs rus-linux.net/MyLDP/file-sys/sshfs.html
    4. банально в mc подключи по ssh и юзай
    midnight-commander-04.jpg
    5. вообще Топорный способ притом вполне себе.
    NuSKN.png
    У меня в минте банально сохранены такие закладки притом в самом немо притом в штатном и все, я даже в ус не дую.
    Ответ написан
    1 комментарий
  • Почему редирект внезапно стал циклическим?

    shambler81
    @shambler81 Куратор тега htaccess
    RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
    #RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
    RewriteCond %{HTTPS} on
    RewriteRule ^.*$ http://%{SERVER_NAME}%{REQUEST_URI}

    Попробуй так.
    Но сдается мне что они сделали следующее
    В виртуал хост добавили редирект основнго зеркала.
    Открой его и посмотри. по ssh подключись и посмотри в апаче настройки. Редактировать не даст но почитать дадут.
    А вот там уже может быть редирект например на зеркало и тогда действительно будет цикл.
    Опять же ты привел сразу несколько строк, что при отключение любой из них цикл сохраняется ?
    а какой редирект конкретно приводит к циклу ?
    Ответ написан
    7 комментариев
  • Как правильно настроить ext4 для SSD?

    shambler81
    @shambler81 Куратор тега Linux
    Ответ написан
    Комментировать
  • Перенаправление на моб.версию со всех страниц сайта?

    shambler81
    @shambler81 Куратор тега htaccess
    1. вашму бы дизику, да руки оборвать ;(
    2. у вас еще есть и обратный редирект на не мобильный, может вы весь .htaccess покажите.
    3. а вы не пробовали верстать на bootstrap ?
    4. RewriteRule ^(.*)$ m.stroyartel-kazan.ru/$1 [NC,L] - явно говорит что с логикой все норм и пролема не в этом правиле.
    Ответ написан
  • Редирект части URL?

    (/tag/слово1 )(слово2) на search/\?q=$1$2

    бкаждый бакс - это скобка сверху, номер бакса номер скобки
    Ответ написан
  • Как сделать редирект на https только основного домена, а поддомены оставить на http?

    как-то так
    RewriteCond %{HTTP} On
    RewriteCond %{HTTP_HOST} ^(www\.|)mysyte\.ru$ [NC]
    RewriteRule ^(.*)$ htts://mysyte.ru/$1 [R=301,L]
    Ответ написан
  • Конфликт Битрис и phpMyAdmin. Как исправить?

    shambler81
    @shambler81 Куратор тега 1С-Битрикс
    кто тебе мешает в phpmyadmin положить свой .htaccess
    Ответ написан
  • Как через htaccess вырезать лишнее из url?

    shambler81
    @shambler81 Куратор тега htaccess
    site.com/?categoryID=1&sort=top
    все что псоле вопроса это ващет ен часть урла уважаемый. Это гет запрос
    RewriteCond %{QUERY_STRING} (^|&)categoryID\=([0-9]{1,})($|&)
    RewriteCond %{QUERY_STRING} (^|&)sort\=top($|&)
    RewriteRule (.*) $1\?categoryID%2

    1 гет запрос и или с начала строки или в середине, 0-9 не менее 1 раза и цифру берем в переменную.
    2. и если в урле есть сорт=топ - не забудь про экран равно
    3. перенаправит все экран вопроса, иначе удалит весь гет запрос. далее подставляем название категория ид и номер из 1 конда соответственно только вместо бакса используется % вот только сам номер нужно протестить по идее это два.
    Ответ написан
  • Как настроить htaccess для единой точки входа?

    shambler81
    @shambler81 Куратор тега htaccess
    вопрос не содержит вопроса.
    Где конфиг, где пример, что нужно сделать ?
    Что такое единая точка входа ? это ваще как ?
    Ответ написан
    Комментировать
  • ISPConfig hostname совпадает с именем домена?

    зайди в виртуал хост обысного сайта
    скопируй от туда все ( замени имя домена на дефолтный)
    вставь это в дефолтный конфиг за исключением хостнейм оставляй тамашний
    перезагружай.
    все ;)
    Ответ написан
    2 комментария
  • Почему не работает редирект с 3 уровня?

    shambler81
    @shambler81 Куратор тега 1С-Битрикс
    Редиректы до ядра. по моему это очевидно.
    .htaccess читается последовательно, по кругу пока последний редирект не остановится.
    RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
    RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

    Попробуй так
    Ответ написан
    Комментировать
  • Как менять CRON задачи на продакшене?

    shambler81
    @shambler81 Куратор тега Linux
    Ansible
    Ответ написан
    Комментировать
  • Как написать регулярное выражение?

    shambler81
    @shambler81 Куратор тега htaccess
    ?katalog_url - гет запрос и не является частью урла.
    Ваз вопрос должен звучать так.
    Как сделать редирект с гет запросом?

    Теперь подробней если с гет запроса на урл то вот
    RewriteCond %{QUERY_STRING} (^|&)katalog_url\=\$1($|&)
    RewriteRule ^.*$ /новыйурл$1 [L,R=301]

    А вот если нужно сделать НА урл с гет запросом то тут еще более топорно
    catalog.php?katalog_url=$1 - ваш вариант
    catalog.php\?katalog_url=$1 - рабочий вариант ;)
    Ответ написан
    3 комментария