Ответы пользователя по тегу htaccess
  • Как перенаправить http://site.com на http://site.ru/en/ используя .htaccess?

    shambler81
    @shambler81 Куратор тега htaccess
    RewriteEngine On
    RewriteBase /
    RewriteCond %{HTTP_HOST} ^site.com [NC]
    RewriteCond %{REQUEST_URI} !^/en(\/|$
    RewriteRule ^(.*) https://site.ru/en/$1 [R,L=301]
    Ответ написан
    Комментировать
  • Поможете сделать редирект в .htaccess?

    shambler81
    @shambler81 Куратор тега htaccess
    Разместить в самом начале файла ( это имеет значение)
    RewriteBase /
    RewriteEngine On
    RewriteCond %{HTTP_HOST} ^domain\.ru$
    RewriteRule ^5/domain\.ru/(.+)$ http://domain.ru/$1 [L,R=301]
    Ответ написан
    Комментировать
  • Редирект в htaccess?

    shambler81
    @shambler81 Куратор тега htaccess
    гет запрос не является частью урла и не попадает в реврайт рул.

    # 301 --- http://www.test3.com/faq.html?faq=13&layout=bob => bbq.html
    RewriteCond %{QUERY_STRING} (^|&)faq\=13($|&)
    RewriteCond %{QUERY_STRING} (^|&)layout\=bob($|&)
    RewriteRule ^faq\.html$ /bbq.html? [L,R=301]
    Ответ написан
    Комментировать
  • Отсечение всего (исключая пару "хвостиков") после .html через htaccess?

    shambler81
    @shambler81 Куратор тега htaccess
    GET не является частью урла и RewriteRule не может с ним работать.
    В вашем случае если вам нужно удалить гет парметры вообще то можно сделать так
    RewriteRule ^(.+?)\.html(?!/amp/).+$ https://%{HTTP_HOST}/$1.html? [L,R=301]

    вопрос в конце строки удалит гет параметры
    если же вам нужно работать с ними то вот пример как это делать
    # 301 --- http://www.test3.com/faq.html?faq=13&layout=bob => bbq.html
    RewriteCond %{QUERY_STRING} (^|&)faq\=13($|&)
    RewriteCond %{QUERY_STRING} (^|&)layout\=bob($|&)
    RewriteRule ^faq\.html$ /bbq.html? [L,R=301]

    (^|&) и ($|&) - всего лишль для того что второй параметр начинается не со знака вопроса
    Ответ написан
    Комментировать
  • Как сформировать htaccess?

    shambler81
    @shambler81 Куратор тега htaccess
    RewriteEngine On
    RewriteCond %{REQUEST_URI} /tg/(.+)$ [OR,NC]
    RewriteCond %{REQUEST_FILENAME} !/tg\.php$
    RewriteRule ^(.*)$ /tg.php [L]
    
    RewriteCond %{REQUEST_URI} /vk/(.+)$ [OR,NC]
    RewriteCond %{REQUEST_FILENAME} !/vk\.php$
    RewriteRule ^(.*)$ /vk.php [L]
    Ответ написан
    Комментировать
  • Почему не срабатывает 404 ошибка?

    shambler81
    @shambler81 Куратор тега htaccess
    В вашем фйайле очень мало не ошибочного кода.
    1. google page speed требует кеша максимального
    2. болшее количество расширений файлов
    3. у вас редирект
    RewriteCond %{REQUEST_URI} /$ [NC]
    RewriteRule ^(.*)(/)$ $1 [L,R=301]
    не учитывает множенство нужных вещей
    не говоря что идет преобразование урлов после чпу, что уже совсем ни в какие ворота, притом еще по маске .*
    4. Кто использует столь старую мазилу? тем более она обновляется автоматически??? давайте еще netscape navigator будем поддерживать?

    ############################################################################
    RewriteEngine On
       #  Директива включает редиректы.
    RewriteBase / 
       # Без директивы (.*) = /$1 будет /var/wwww/site/web/$1  с директивой  = /$1
    Options +FollowSymLinks
       # Разрешает переход по символическим ссылкам.
    ErrorDocument 404 /404.html
       # 404 
    AddDefaultCharset windows-1251
       # реально в 19 году 1251 кто-то использует?
    
    ############################################################################
    #### Выбор основного зеркала (с 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 %{HTTPS} on
       # Проверяем наличие https в URL.
    #RewriteRule ^.*$ http://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
       # Перенаправляем протокол на http.
    
    ############################################################################
    #### Перенаправляем протокол http на https                              ####
    ############################################################################
    RewriteCond %{HTTPS} off
       # Проверяем наличие https в URL.
    RewriteCond %{REQUEST_URI} !^/bitrix/admin/1c_exchange\.php$ [NC] 
       #  Исключим обмен с 1С, ему требуется только 200 
    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|svg|woff|pdf)$">
        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   ####
    ############################################################################
    
    
    <IfModule mod_gzip.c>
      mod_gzip_on         Yes
      mod_gzip_dechunk    Yes
      mod_gzip_item_include file		\.(html?|txt|css|js|php|pl|png)$
      mod_gzip_item_include mime		^text\.*
      mod_gzip_item_include mime		^application/x-javascript.*
      mod_gzip_item_exclude mime		^image\.*
      mod_gzip_item_exclude rspheader	^Content-Encoding:.*gzip.*
    </IfModule>
    
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-l
    RewriteRule ^(.*)$ index.php?/ru/$1 [QSA,L]
    Ответ написан
    Комментировать
  • В чем ошибка в коде?

    shambler81
    @shambler81 Куратор тега htaccess
    все просто в вашей логике есть пара ошибок
    1. инициализация мод реврайта не нужна каждый раз ее достаточно сделать 1 раз
    2. робот не нужно исключать это совершенно лишнее.
    3. .htaccess читается последовательно сверху вниз иприменение идет по кругу пока ссылки полностью не остановят свое изменение, как следствие ^(.*)$ будет менять ее всегда.
    ну и 4

    RewriteCond действует на единственный рул после себя,и не распространяется на остальных.

    RewriteEngine On
    RewriteCond %{HTTP_HOST}   ^(www\.|)(.+)\.rukartina\.ru$ [NC]
    RewriteRule ^(.*)$ https://%2.rakovgallery.ru/$1 [R=301,L]
    
    RewriteCond %{HTTP_HOST}   ^(www\.|)uralkartina\.ru$ [NC]
    RewriteRule ^(.*)$ https://ekb.rakovgallery.ru/$1 [R=301,L]
    
    
    RewriteCond %{HTTP_HOST}   ^(www\.|)rukartina\.ru$ [NC]
    RewriteRule ^category/pejzazh/(.*)$ https://rakovgallery.ru/catalog/genre/peyzazh/$1 [R=301,L]
    RewriteCond %{HTTP_HOST}   ^(www\.|)rukartina\.ru$ [NC]
    RewriteRule ^category/gorodskoj-pejzazh/(.*)$ https://rakovgallery.ru/catalog/genre/gorodskoy-peyzazh/$1 [R=301,L]
    RewriteCond %{HTTP_HOST}   ^(www\.|)rukartina\.ru$ [NC]
    RewriteRule ^category/morskoj_pejzazh/(.*)$ https://rakovgallery.ru/catalog/genre/morskoy-peyzazh/$1 [R=301,L]
    RewriteCond %{HTTP_HOST}   ^(www\.|)rukartina\.ru$ [NC]
    RewriteRule ^category/abstrakciya/(.*)$ https://rakovgallery.ru/catalog/genre/abstrakciya/$1 [R=301,L]
    RewriteCond %{HTTP_HOST}   ^(www\.|)rukartina\.ru$ [NC]
    RewriteRule ^category/natyurmort/(.*)$ https://rakovgallery.ru/catalog/genre/natyurmort/$1 [R=301,L]
    RewriteCond %{HTTP_HOST}   ^(www\.|)rukartina\.ru$ [NC]
    RewriteRule ^category/syuzhetnaya-zhivopis/(.*)$ https://rakovgallery.ru/catalog/genre/syuzhetnaya-zhivopis/$1 [R=301,L]
    RewriteCond %{HTTP_HOST}   ^(www\.|)rukartina\.ru$ [NC]
    RewriteRule ^uslugi/portrety_na_zakaz/(.*)$ https://rakovgallery.ru/services/portrety-na-zakaz/$1 [R=301,L]
    RewriteCond %{HTTP_HOST}   ^(www\.|)rukartina\.ru$ [NC]
    RewriteRule ^hudozhniki/gusel-nikov-evgenij-vasil-evich/(.*)$ https://rakovgallery.ru/artist/evgeniy-guselnikov/$1 [R=301,L]
    RewriteCond %{HTTP_HOST}   ^(www\.|)rukartina\.ru$ [NC]
    RewriteRule ^hudozhniki/balahonov-dmitrij/(.*)$ https://rakovgallery.ru/artist/balahonov-dmitriy/$1 [R=301,L]
    RewriteCond %{HTTP_HOST}   ^(www\.|)rukartina\.ru$ [NC]
    RewriteRule ^hudozhniki/krupp-stanislav/(.*)$ https://rakovgallery.ru/artist/stanislav-krupp/$1 [R=301,L]
    RewriteCond %{HTTP_HOST}   ^(www\.|)rukartina\.ru$ [NC]
    RewriteRule ^hudozhniki/belaya-agata/(.*)$ https://rakovgallery.ru/artist/agata-belaya/$1 [R=301,L]
    RewriteCond %{HTTP_HOST}   ^(www\.|)rukartina\.ru$ [NC]
    RewriteRule ^hudozhniki/saidov-aleksandr/(.*)$ https://rakovgallery.ru/artist/aleksandr-saidov/$1 [R=301,L]
    RewriteCond %{HTTP_HOST}   ^(www\.|)rukartina\.ru$ [NC]
    RewriteRule ^hudozhniki/hohrin-il-ya-nikolaevich/(.*)$ https://rakovgallery.ru/artist/ilya-hohrin/$1 [R=301,L]
    RewriteCond %{HTTP_HOST}   ^(www\.|)rukartina\.ru$ [NC]
    RewriteRule ^hudozhniki/pervushin-yurij/(.*)$ https://rakovgallery.ru/artist/pervushin-yuriy/$1 [R=301,L]
    RewriteCond %{HTTP_HOST}   ^(www\.|)rukartina\.ru$ [NC]
    RewriteRule ^hudozhniki/shishkin-valerij/(.*)$ https://rakovgallery.ru/artist/valeriy-shishkin/$1 [R=301,L]
    RewriteCond %{HTTP_HOST}   ^(www\.|)rukartina\.ru$ [NC]
    RewriteRule ^hudozhniki/marinova-anna/(.*)$ https://rakovgallery.ru/artist/anna-marinova/$1 [R=301,L]
    RewriteCond %{HTTP_HOST}   ^(www\.|)rukartina\.ru$ [NC]
    RewriteRule ^hudozhniki/kushakov-alisher/(.*)$ https://rakovgallery.ru/artist/alisher-kushakov/$1 [R=301,L]
    RewriteCond %{HTTP_HOST}   ^(www\.|)rukartina\.ru$ [NC]
    RewriteRule ^hudozhniki/suvorova-ol-ga/(.*)$ https://rakovgallery.ru/artist/olga-suvorova/$1 [R=301,L]
    RewriteCond %{HTTP_HOST}   ^(www\.|)rukartina\.ru$ [NC]
    RewriteRule ^hudozhniki/pokidyshev_pavel_vasil_evich/(.*)$ https://rakovgallery.ru/artist/pavel-pokidyshev/$1 [R=301,L]
    RewriteCond %{HTTP_HOST}   ^(www\.|)rukartina\.ru$ [NC]
    RewriteRule ^hudozhniki/terehov-evgenij-aleksandrovich/(.*)$ https://rakovgallery.ru/artist/evgeniy-terehov/$1 [R=301,L]
    RewriteCond %{HTTP_HOST}   ^(www\.|)rukartina\.ru$ [NC]
    RewriteRule ^hudozhniki/reznichenko-nikolaj-grigor-evich/(.*)$ https://rakovgallery.ru/artist/nikolay-reznichenko/$1 [R=301,L]
    RewriteCond %{HTTP_HOST}   ^(www\.|)rukartina\.ru$ [NC]
    RewriteRule ^hudozhniki/lipatova-alla/(.*)$ https://rakovgallery.ru/artist/lipatova-alla/$1 [R=301,L]
    RewriteCond %{HTTP_HOST}   ^(www\.|)rukartina\.ru$ [NC]
    RewriteRule ^hudozhniki/korolenkov-vyacheslav-veniaminovich/(.*)$ https://rakovgallery.ru/artist/vyacheslav-korolenko/$1 [R=301,L]
    RewriteCond %{HTTP_HOST}   ^(www\.|)rukartina\.ru$ [NC]
    RewriteRule ^hudozhniki/loskutov-evgenij/(.*)$ https://rakovgallery.ru/artist/loskutov-evgeniy/$1 [R=301,L]
    RewriteCond %{HTTP_HOST}   ^(www\.|)rukartina\.ru$ [NC]
    RewriteRule ^hudozhniki/sidorova-zhanna/(.*)$ https://rakovgallery.ru/artist/sidorova-zhanna/$1 [R=301,L]
    RewriteCond %{HTTP_HOST}   ^(www\.|)rukartina\.ru$ [NC]
    RewriteRule ^searchworks/(.*)$ https://rakovgallery.ru/catalog/$1 [R=301,L]
    RewriteCond %{HTTP_HOST}   ^(www\.|)rukartina\.ru$ [NC]
    RewriteRule ^newworks/(.*)$ https://rakovgallery.ru/catalog/new/$1 [R=301,L]
    RewriteCond %{HTTP_HOST}   ^(www\.|)rukartina\.ru$ [NC]
    RewriteRule ^hudozhniki/(.*)$ https://rakovgallery.ru/artist/$1 [R=301,L]
    RewriteCond %{HTTP_HOST}   ^(www\.|)rukartina\.ru$ [NC]
    RewriteRule ^uslugi/(.*)$ https://rakovgallery.ru/services/$1 [R=301,L]
    RewriteCond %{HTTP_HOST}   ^(www\.|)rukartina\.ru$ [NC]
    RewriteRule ^(.*)$ https://rakovgallery.ru/$1 [R=301,L]
    RewriteCond %{HTTP_HOST}   ^(www\.|)rukartina\.ru$ [NC]
    Ответ написан
    Комментировать
  • Как правильно написать .htaccess, чтобы работала папка 'public/' а не корень?

    shambler81
    @shambler81 Куратор тега htaccess
    измени докумнет рут
    Ответ написан
    Комментировать
  • Как поправить 301 Redirect в htaccess?

    shambler81
    @shambler81 Куратор тега htaccess
    1. весь конфиг в студию ибо он читается сверху вниз и порой достаточно переменить местами правила.
    2. в приведенном вами примере логика вашего запроса и ответа сходится, вы не написали что вам не нравится? вам нужно было только компанент а все что внутри не должно было делать редирект? более подробно а лучше с примерам было стало.
    3. Условие можно сделать или маской или конструкцией если, но Redirect 301 для этого худший вариант.
    Как правило используют такой.

    RewriteCond %{REQUEST_URI} ^/okna/$ [NC]
    RewriteRule ^(.*)$ /okna.html? [R=301,L]
    Ответ написан
  • Как сделать исключение для .htaccess?

    shambler81
    @shambler81 Куратор тега htaccess
    RewriteCond %{REQUEST_URI} !^/bitrix/admin/1c_exchange\.php$ [NC]

    ! - знак отрицания

    следовательно ваш вариант

    AddDefaultCharset utf-8
    
    RewriteEngine on
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_URI} !^/export\.php$ [NC]
    RewriteRule ^(.*)$ index.php
    Ответ написан
    Комментировать
  • 301 редирект с http://домен2.рф на https://domen1.ru?

    shambler81
    @shambler81 Куратор тега htaccess
    1 нужен сертификат и для второго домена если он расположен на этом сервере( долго объяснять но так и есть).
    2. редирект.
    Ответ написан
    Комментировать
  • Возможность адресовать через htaccess сайт в подпапке?

    shambler81
    @shambler81 Куратор тега htaccess
    это можно сделать и без .htaccess
    в линуксе есть "мягкая ссылка" или симлинк, по сути это ты можешь собрать физически такую структуру.
    это одна команда. ln
    Ответ написан
  • Может ли вылетать 500 ошибка из-за htaccess?

    shambler81
    @shambler81 Куратор тега htaccess
    да может.
    что касается содержимого то там всего несколько строк зависят друг от друга,
    остальные можно тупо удалять и смотреть что повлияет, когда заработает.
    НО сам файл правильный.
    Правда бывает что на некоторых хостинга редирект срабатывает по разному именно для https но 500 при этом не должен выкидывать.
    Что в логах?
    Ответ написан
  • Редирект страниц товаров в Bitrix и циклическая переадресация?

    shambler81
    @shambler81 Куратор тега htaccess
    страница товара не может находиться в категории " бренд" поскольку она может быть привязана сразу к нескольким категориям

    Например:
    карсный /  для дома/ две дверцы/1товар
    зеленый /  для дома/ две дверцы/1товар
    Холодильник /   дешевый/размер 1x2/  две дверцы/ со скидкой
    Встраиваемый/товар
    И тд

    Как вы понимаете все это категории к которым он привязан
    А урл естественно не может быть таким поскольку это канибализация запросов не уникальный урл и тд и тп
    А должно быть так
    /catalog/1товар
    В таком случае все разделы будут строиться секциями а товар всегда будет иметь один урл, при том самый короткий из возможных, в идеале /1товар но это нестандарт для битрикс.
    А то что вы сделали это шляпа.
    Из плохих урлов вы собрали еще хуже, да в добавок еще и потеряли в весе страницы поскольку 301 его почти не передает, уже лет так 5. если и передает то малую часть. ПФ на дворе ващет.

    Теперь ответ
    RewriteCond %{REQUEST_URI} !katalog/product$
    RewriteRule ^katalog/(.*+[^/])/(.+[^/])/$ https://site.ru/katalog/product/$2/ [R=301,L]


    Условие если RewriteCond
    ! - отрицание
    Ответ написан
  • Как настроить htaccess на локали?

    shambler81
    @shambler81 Куратор тега htaccess
    1. убедитесь что у вас установлен mod_rewrite и ативирован.
    2. у вас установлен apache а не nginx+fpm
    3. не забывайте экранировать спецсимволы, они не везде работают без экранов faq.php?z=$1 --> faq.php\?z\=$1
    4. если у вас в .htacces стоит <IfModule mod_php7.c> убедитесь что оно у вас 7
    Ответ написан
    3 комментария
  • Как настроить httacces (регулярки)?

    shambler81
    @shambler81 Куратор тега htaccess
    Последоватлеьность имеет значения
    посколкьу редиректы читаются сверху вниз до полного упорядочивания урлов.
    Ну или как коллега в верху показал сделай более частный случай ограничив по краям ^......$
    Ответ написан
    Комментировать
  • Переадресация сайта после перехода с яндекс дзен?

    shambler81
    @shambler81 Куратор тега htaccess
    1. www.adventum.ru/blog/rel-canonical-how-to вам в помощь и не выдумывайте велосипед
    2. Запретите индексацию гет параметров в robots тем более они начинаются с utm
    3. sitemap.xml
    4. GET параметр не является частью урла и выделяется отдельным зарпосом в реврайт конд, так что можно сделать условие для всех utm

    Частный случяай
    RewriteCond %{QUERY_STRING} (^|&)utm_referrer\=https\://zen\.yandex\.com($|&)
    RewriteRule ^karty/sovet\-tem\-kto\.html$ /? [L,R=301]

    для всех UTM
    RewriteCond %{QUERY_STRING} (^|&)utm_referrer\=.+($|&)
    RewriteRule ^(.+)$ /$1/? [L,R=301]

    ? В Конце строки удалит гет параметры
    Ответ написан
    Комментировать
  • Как открыть файлы на сервере без расширения?

    shambler81
    @shambler81 Куратор тега htaccess
    в линуксе нет расширений это просто точка в имени
    так что реальных ограничений нет, другой вопрос как настроен ваш сервер
    Теперь вопрос зачем вам такой файл, что мешает вам сделать каталог /anc
    а в нем index.php
    и все ?
    Ответ написан