• Как отредактировать htaccess?

    shambler81
    @shambler81 Куратор тега htaccess
    RewriteCond %{QUERY_STRING} (^|&)id\=1($|&)
    RewriteCond %{QUERY_STRING} (^|&)page\=2($|&)
    RewriteRule .* odemix.ru/note1\?page2? [L,R=301]
    Ответ написан
    Комментировать
  • Как настроить 301 редирект через htaccess без затрагивания дочерних ссылок?

    shambler81
    @shambler81 Куратор тега htaccess
    ^ - начало строки
    $ - конец строки
    ^/tovari/category1$
    Ответ написан
    Комментировать
  • Как сделать чтобы элементы находились на одной линии?

    Во первых это бутстрап а следоватлеьно нужно следовать его философии
    в кол нужно кинуть кол и уж размером кнопки можно пожертвовать ограничив его размер именно возможностями колов а не пиксел в пиксел, ну уж или на ухдой конец классом ограничить уже внутри кола.
    Собственно отпадет проблемма адаптации на устройствах.
    Ответ написан
    Комментировать
  • Как настроить композит на Битрикс?

    1. с версии 17.5 композит называется "автокомпозит" и да он теперь автоматически размечается ( притом даже работает)
    2. а у вас кеш включен ?
    проверьте работает ли он у вас в принципе, многие разработчики его тупо отключат ;(
    Ответ написан
  • Какой есть спецсимвол (оператор) для придания точного соответствия?

    shambler81
    @shambler81 Куратор тега htaccess
    1. ответ на ваш ^ - начало/ $ - конец строки
    2. вот вам в помощь www.exlab.net/files/tools/sheets/mod_rewrite/mod_r...
    Тут конечно не все но большая часть.
    3.сделайте так.
    RewriteCond %{QUERY_STRING} (^|&)kupalniki($|&) [OR]
    RewriteCond %{QUERY_STRING} (^|&)plyazhnaya-odezhda($|&) [OR]
    RewriteCond %{QUERY_STRING} (^|&)beachwear($|&)
    RewriteRule ^index\.php$ /beachwear-new/? [L,R=301]

    Или вообще сделайте по нормальному

    RewriteCond %{QUERY_STRING} (^|&)kupalniki($|&) 
    RewriteRule ^index\.php$ /beachwear-new/? [L,R=301]
    
    RewriteCond %{QUERY_STRING} (^|&)plyazhnaya-odezhda($|&) 
    RewriteRule ^index\.php$ /beachwear-new/? [L,R=301]
    ...

    Так же я добавил условие и или, то есть если этот будет идти не первым и начинаться с &
    Если у вас много редиректов а вы плаваете
    то воспользуйтесь вот этим отличным сервисом, он на 99% работает корректно
    https://www.donatstudios.com/RewriteRule_Generator
    Ответ написан
  • Как сделать редирект .htaccess с www & http одновременно?

    shambler81
    @shambler81 Куратор тега htaccess
    Раскоментировать нужное.

    ############################################################################
    #### Выбор основного зеркала (с www или без www)                        ####
    ############################################################################
        # 1. Удалить www
    #RewriteCond %{ENV:HTTPS} on
        #Если включен https
    #RewriteRule .* - [E=SSL:s]
        #То создаем переменную  ssl с текстом s
    #RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
        # Проверяем, содержит ли домен www в начале URL.
    #RewriteRule ^(.*)$ http%{ENV:SSL}://%1/$1 [R=301,L]
        # Перенаправляем удаляем www
    
        # 2. Добавить www
    #RewriteCond %{ENV:HTTPS} on
        #Если включен https
    #RewriteRule .* - [E=SSL:s]
        #То создаем переменную  ssl с текстом s
    #RewriteCond %{HTTP_HOST} !^www\.(.*) [NC]
        # Если нет www в начале домена
    #RewriteRule ^(.*)$ http%{ENV:SSL}://www.%{HTTP_HOST}/$1 [R=301,L]
        #Подставляем www и https если он включен.
    
    ############################################################################
    #### Перенаправляем протокол https на http                              ####
    ############################################################################
    #RewriteCond %{ENV:HTTPS} on
       # Проверяем наличие https в URL.
    #RewriteRule ^.*$ http://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
       # Перенаправляем протокол на http.
    
    ############################################################################
    #### Перенаправляем протокол http на https                              ####
    ############################################################################
    #RewriteCond %{ENV:HTTPS} !on
       # Проверяем наличие https в URL.
    #RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
       # Перенаправляем протокол на http.
    Ответ написан
    Комментировать
  • Убрать часть URL?

    RewriteCond %{QUERY_STRING} (^|&)do\=(.+)($|&)
    #Если    гет запрос содержит do= и более 1 знака, так же по краям  (^|&)($|&)  - это поскольку гет может быть вторым а следовательно начинаться с &
    RewriteRule ^(.*) /%2 [L,R=301]
    #то перенаправить на %2 -  это аналог $2 только из конда ( вторая скобка из конда)
    Ответ написан
  • Как правильно настроить перенаправление запроса в .htaccess?

    shambler81
    @shambler81 Куратор тега htaccess
    думаю это очевидно
    я так понимаю вы напилили там свое чпу
    А следоватлеьно и законы те же самые
    RewriteCond %{REQUEST_FILENAME} !-f
    если вам нужно исключиьть все директории
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ public/$1 [L]

    ну или более детально указать директорию с отрицанием "!"
    RewriteCond %{REQUEST_URI} !^/images/.*
    RewriteRule ^(.*)$ public/$1 [L]

    ну или по маске к статическому контенту в этой папке, тут уже ваше желание
    !^/images/+*\.(Jpg|jpeg|png|PNG)
    и так далее...

    RewriteCond - по сути это ЕСЛИ
    их может быть сколько угодно, после них идет рул это ТО
    Ответ написан
  • Как добавить такой компонент на страницу (bootsrapv4)?

    мы от 4 отказались и вернулись к 3
    прелесть бутстрапа в его простоте и низком уровне входа.
    БС4 - не так прост, и весь смысл его улетучивается.
    Да и сыроват он еще
    Ответ написан
    Комментировать
  • Две точки входа?

    shambler81
    @shambler81 Куратор тега htaccess
    Без всяких OR
    Просто доблавляйте вот так вокруг стринга
    (^|&)тут сам гет($|&)
    И не забывайте экранировать \=
    А исключить файл можно достаточно просто, когда одно из условий не сработает.
    В текущем случае это не файл (имя файла)
    RewriteCond %{QUERY_STRING} (^|&) (\<|%3C).*script.*(\>|%3E)($|&)
    RewriteCond %{QUERY_STRING} (^|&)GLOBALS(\=|\[|\%[0-9A-Z]{0,2})($|&)
    RewriteCond %{QUERY_STRING} (^|&)_REQUEST(\=|\[|\%[0-9A-Z]{0,2})($|&)
    RewriteCond %{REQUEST_URI} !^/api.php
    RewriteRule ^(.*)$ index.php [F,L]
    Ответ написан
    Комментировать
  • Какой правильный .htaccess для php сайта?

    shambler81
    @shambler81 Куратор тега htaccess
    вопрос не имеет смысла.
    Правеьлный .htaccss -тот который вы сделали, по сути это дополнительные конфигурации и настройки, редиректы и тд.
    Мало того сайт может работать и вовсе без него
    А некоторые виды представления php вовсе игнорируют этот файл принудительно.
    Так что ответ на первый вопрос, - недостаточно данных, какой движок что нужно и тд.
    2. если у вас есть список сопоставлений что к чему, это да можно менять.
    Но думаю вам нужно присмотреться к ЧПУ
    И решить оба вопроса

    Ответ на второй вопрос
    Почитайте как сделать ЧПУ
    master-it.biz/make-friendly-urls-site-php.html
    Ответ написан
    Комментировать
  • Какое ПО выбрать для инкрементального монтируемого бекапа?

    shambler81
    @shambler81 Куратор тега Linux
    на баше все вышесказаное будет занимать около 30 строчек кода.
    Ответ написан
  • Как разница какую версию bitrix ставить для натяжки макета?

    малый бизнесс, если используете ску или многоскладовость то Бизнесс
    Ответ написан
    Комментировать
  • Как выполнить скрипты после установки ОС с PXE-сервера?

    shambler81
    @shambler81 Куратор тега Linux
    давно в этой хрени не ковырялся но там же можно сделать отдильные конфигурации под каждую машину. там принтеры сетевые хранилищя и тд, не ужели нет возможности выполнить команду.
    Ответ написан
    Комментировать
  • Как запустить сайт на второй машине?

    У апача нет с этим проблем
    разделение идет не по IP (ну если вы этого принудитлеьно не захотели)
    А по заголовку
    По сути на одном порту и одном айпи может висеть любое количество сайтво и это никак не помешает апачу.
    Просто создавайте конфиги в виртуал хосте указывайте имя сайта а не его айпи.
    Этого будет достаточно.

    <Directory /var/www/site2.ru>
               </Directory>
            <VirtualHost site.ru:80>
    .......
    Ответ написан
    Комментировать
  • Как открыть 25 порт в Centos?

    shambler81
    @shambler81 Куратор тега Linux
    iptables -I INPUT -p tcp --dport 25 -j ACCEPT
    service iptables save
    Ответ написан
  • Вирус поставил редиректы. Что делать?

    ai-bolit.php - качаешь запускаешь, удаляешь вирус, удаляешь редиректы
    Наслаждавшийся до следующей атаки через текущую уязвимость.
    Ответ написан
  • Можно ли так настроить backuppc?

    shambler81
    @shambler81 Куратор тега Linux
    Решений милион
    find /var/backup/site/ -type f -mtime +750 | xargs rm -f;

    удаляет предыдущие бэкапы стaарше 2 лет
    Если нужно удалить самый старый бэкап, в моем случае это папка отвечает за год
    rm -rf $(ls /var/backup/site | head -1)
    Ответ написан
  • Почему htaccess редирект добавляет 2 раза параметры в адресную строку?

    shambler81
    @shambler81 Куратор тега htaccess
    не вижу у вас тут ни одгого правила которое могло бы затронуть GET параметр.
    Надеюсь вы не этим пытаетесь его выцепить ?%{REQUEST_URI}
    Ответ написан
    1 комментарий
  • Как сделать редирект в htaccess?

    shambler81
    @shambler81 Куратор тега htaccess
    Разберите данный набор стандартных правил, большинство вам будут полезны.
    Теперь что касается редиректов с гет и без гет запросов.
    1 удалить гет - в конце поставить ?
    2 Добавить гет в конце урла поставить /\?id\=111 короче не забываем экранировать
    3. Как вырезать часть гет и передать его куда-либо
    Гет не является частью ула и вырезается через RewriteCond квери стриинг
    А вставляется следующим обраом $1 -из конда будет %1
    4. https://www.donatstudios.com/RewriteRule_Generator
    ############################################################################
    #### Стандартный .htaccess для проектов студии Клондайк, версия 3.5     ####
    ############################################################################
    RewriteEngine On
       #  Директива включает редиректы.
    RewriteBase / 
       # Без директивы (.*) = /$1 будет /var/wwww/site/web/$1  с директивой  = /$1
    Options +FollowSymLinks
       # Разрешает переход по символическим ссылкам.
    php_flag display_errors off
      # запретить отображение ошибок  (требование монитора качества)
    php_flag allow_url_fopen off
      # запретить  использовать удаленые файлы (требование проактивной защиты)
    
    ############################################################################
    #### Выбор основного зеркала (с www или без www)                        ####
    ############################################################################
        # 1. Удалить www
    #RewriteCond %{ENV:HTTPS} on
        #Если включен https
    #RewriteRule .* - [E=SSL:s]
        #То создаем переменную  ssl с текстом s
    #RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
        # Проверяем, содержит ли домен www в начале URL.
    #RewriteRule ^(.*)$ http%{ENV:SSL}://%1/$1 [R=301,L]
        # Перенаправляем удаляем www
    
        # 2. Добавить www
    #RewriteCond %{ENV:HTTPS} on
        #Если включен https
    #RewriteRule .* - [E=SSL:s]
        #То создаем переменную  ssl с текстом s
    #RewriteCond %{HTTP_HOST} !^www\.(.*) [NC]
        # Если нет www в начале домена
    #RewriteRule ^(.*)$ http%{ENV:SSL}://www.%{HTTP_HOST}/$1 [R=301,L]
        #Подставляем www и https если он включен.
    
    ############################################################################
    #### Перенаправляем протокол https на http                              ####
    ############################################################################
    #RewriteCond %{ENV:HTTPS} on
       # Проверяем наличие https в URL.
    #RewriteRule ^.*$ http://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
       # Перенаправляем протокол на http.
    
    ############################################################################
    #### Перенаправляем протокол http на https                              ####
    ############################################################################
    #RewriteCond %{ENV:HTTPS} !on
       # Проверяем наличие https в URL.
    #RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
       # Перенаправляем протокол на http.
    
    ############################################################################
    #### Убираем повторяющиеся слеши (/) в URL                              ####
    ############################################################################
    RewriteCond %{THE_REQUEST} //
       # Проверяем, повторяется ли слеш (//) более двух раз.
    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 нет точки (файл).
    RewriteRule ^(.*)$ $1/ [L,R=301]
       # Добавляем слеш в конце.
    
    ############################################################################
    #### Убираем index.php, если он есть в конце URL                        ####
    ############################################################################
    RewriteCond %{REQUEST_METHOD} =GET
       # Выявляем GET запрос в URL (не POST).
    RewriteCond %{REQUEST_URI} ^(.*)/index\.php$
       # URL cодержит index.php в конце.
    RewriteRule ^(.*)$ %1/ [R=301,L]
       # Удалить index.php из URL.
    
    ############################################################################
    #### Компрессия статического контента для гугл  спид тест               ####
    ############################################################################
      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 mod_expires.c>
      ExpiresActive on
      ExpiresByType image/jpeg "access plus 3 day"
      ExpiresByType image/svg "access plus 3 day"
      ExpiresByType image/gif "access plus 3 day"
      ExpiresByType image/png "access plus 3 day"
      ExpiresByType text/javascript "access plus 3 day"
      ExpiresByType text/css "access plus 3 day"
      ExpiresByType application/javascript "access plus 3 day"
    </IfModule>
    
    ############################################################################
    #### Антивирус, только для 1С-Битрикс,                                  ####
    ############################################################################
    #php_value auto_prepend_file "/home/bitrix/ext_www/SITE.RU/bitrix/modules/security/tools/start.php"
       #  укажите путь до файла 
       # включить тут /bitrix/admin/security_antivirus.php?lang=ru
    
    ############################################################################
    #### Конец общей части, далее следует собственные директивы .htaccess   ####
    ############################################################################
    Ответ написан
    1 комментарий