Ответы пользователя по тегу htaccess
  • Почему со страниц ЧПУ каталога редиректит на /bitrix/urlrewrite?

    OAPrilepa
    @OAPrilepa
    Frontend developer
    <IfModule mod_rewrite.c>
      Options +FollowSymLinks
      RewriteEngine On
      # Переадресация с второстепенных доменов
      RewriteCond %{HTTP_HOST} !^pd\.info$ [NC]
      RewriteRule ^(.*)$ https://pd.info/$1 [R=301,L]
      # SSL
      RewriteCond %{REQUEST_FILENAME} !^/\.well-known(.*)$
      RewriteCond %{HTTP:X-HTTPS} !1
      RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]
      # Переадресация с добавлением / в конце
      RewriteCond %{REQUEST_FILENAME} !-f
      RewriteCond %{REQUEST_FILENAME} !-d
      RewriteRule ^([^.]+)(?<!/)$ /$1/ [R=301,L]
      # Переадресация с домена с WWW на домен без WWW
      RewriteCond %{HTTP_HOST}	^www\.(.*)	[NC]
      RewriteRule ^(.*)$ https://%1/$1	[R=301,L]
      # Переадресация с index.php на /
      RewriteCond %{REQUEST_FILENAME} ^(.*)/index\.php$
      RewriteRule ^(.*)index\.php(.*)$ /$1$2 [R=301,L]
      # Безопасность
      RewriteRule ^composer\.(json|lock)$ / [R=404,L]
      RewriteRule ^vendor(.*)$ / [R=404,L]
      RewriteRule ^(.*)\.(idea|git|gitmodules|gitignore|htaccess|vagrant)$ / [R=404,L]
      RewriteRule ^deploy-config\.json$ / [R=404,L]
      # Bitrix
      RewriteCond %{REQUEST_FILENAME} !-f
      RewriteCond %{REQUEST_FILENAME} !-l
      RewriteCond %{REQUEST_FILENAME} !-d
      RewriteCond %{REQUEST_FILENAME} !/bitrix/urlrewrite.php$
      RewriteRule ^(.*)$ /bitrix/urlrewrite.php [L]
      RewriteRule .* - [E=REMOTE_USER:%{HTTP:Authorization}]
    </IfModule>
    Ответ написан
    3 комментария
  • Как настроить редирект на https в.htaccess?

    OAPrilepa
    @OAPrilepa
    Frontend developer
    С использованием бесплатного Let's Encrypt SSL сертификата правило в итоге должно выглядеть так:
    # SSL
      RewriteCond %{REQUEST_FILENAME} !^/\.well-known(.*)$
      RewriteCond %{HTTP:X-HTTPS} !1
      RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]
    Ответ написан
    Комментировать
  • Как сделать 301 редирект в htaccess?

    OAPrilepa
    @OAPrilepa
    Frontend developer
    Переадресация с домена без WWW на домен с WWW:
    RewriteEngine On
    RewriteCond %{HTTP_HOST} ^example.ru
    RewriteRule (.*) http://www.example.ru/$1 [R=301,L]

    Переадресация с домена с WWW на домен без WWW:
    RewriteEngine On
    RewriteCond %{HTTP_HOST} ^www.example.ru$ [NC]
    RewriteRule ^(.*)$ http://example.ru/$1 [R=301,L]
    RewriteCond %{HTTP_HOST}	^www\.(.*)	[NC]
    RewriteRule ^(.*)$ http://%1/$1	[R=301,L]

    Переадресация с добавлением / в конце
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^([^.]+)(?<!/)$ /$1/ [R=301,L]

    Переадресация с index.php на /
    # Убираем index.php
      RewriteCond %{REQUEST_FILENAME} ^(.*)/index\.php$
      RewriteRule ^(.*)index\.php(.*)$ /$1$2 [R=301,L]
    Ответ написан
    Комментировать
  • Как настроить редирект на https в.htaccess?

    OAPrilepa
    @OAPrilepa
    Frontend developer
    RewriteCond %{HTTP:X-HTTPS} !1
    RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]
    Ответ написан
    Комментировать
  • Как реализовать редирект субдомена в раздел сайта через .htaccess?

    OAPrilepa
    @OAPrilepa
    Frontend developer
    Делал так, в корне размещал правило:
    RewriteEngine on
        RewriteBase /
        RewriteCond %{HTTP_HOST} ^coffee.
        RewriteRule ^(.*)$ /projects/coffee/www/$1 [L]

    А в папке /projects/coffee/www/ положил правило:
    RewriteEngine on
    RewriteRule ^$                        index.php  [L]
    RewriteCond %{REQUEST_FILENAME}       !-f
    RewriteCond %{REQUEST_FILENAME}       !-d
    RewriteRule (.*)                      index.php?id=$1  [QSA,L]
    Ответ написан
    Комментировать