Перейти к содержимому

Где находится файл htaccess в битрикс

  • автор:

Настройка .htaccess в 1С-Битрикс

Настройка .htaccess в 1С-Битрикс

Сайт разработанный на любом CMS или framework движке файл находиться в корневой директории сайта.

В битриксе его можно увидеть через админку. в разделе «Файлы и папки», но я не рекомендую редактировать его через админку битрикса, лучше подключитесь по FTP/SFTP через любой файловый редактор и смело правьте его там. Да и вообще перед внесением каких либо новых правил в htaccess, скачайте этот файл себе на компьютер, чтобы при неудачных внесении правок можно было восстановить прежнюю версию файла.

Настройка редиректа с www на без www в 1С-Битрикс.

Чтобы Ваш сайт по адресу www.ваш-сайт.ru перенаправлялся на адрес ваш-сайт.ru, необходимо прописать в секции mod_rewrite.c следующее правило

#редирект с www на без-www RewriteCond % ^www\.(.*) [NC] RewriteRule ^(.*)$ https://%1/$1 [R=301,L] #наоборот с без www на www RewriteCond % !^www\.(.*) [NC] RewriteRule ^(.*)$ http://www.%/$1 [R=301,L]

Настройка редиректа с http на https в 1С-Битрикс

Если у Вас уже имеется SSL сертификат и прикрепили его к своему домену. В панеле администрирования хостинга в разделе настройки сайта должен быть пункт перенаправлять с http на https, если нет, то прописывайте это в файле htaccess. Это сделать очень важно, потому что если проигнорировать этой действие Вы получите дубли всех страниц, которые есть на сайте.

#редирект с http на https RewriteCond % off RewriteCond % !https RewriteRule ^(.*)$ https://%% [L,R=301]

Дубли страниц index.php в 1C-Битрикс.

Когда Вы создаете любой раздел, например /about/ (О нас), то он будет работать по двум адресам /about/ и /about/index.php. От таких дублей тоже избавляемся и прописываем правило:

RewriteCond % ^(.*)/index\.php$ RewriteCond % !bitrix/admin/ RewriteRule ^(.*)index\.php$ http://%/$1 [R=301,L]

Убираем повторяющие слеши в конце URL

RewriteCond % ^(.*?)\/(.*?)$ RewriteRule . %1/%2 [L,R=301] RewriteCond % // RewriteRule .* /$0 [R=301,L]

Добавляем слэш «/» в конце URL адресов

Чтобы страницы не были доступны по 2-м адресам https://ваш-сайт.ru/about/ и https://ваш-сайт.ru/about то необходимо настроить редирект на слеш в конце URL страницы

RewriteCond % ^(.*)/$ RewriteRule .* - [L] RewriteCond % 200 RewriteRule .* - [L] RewriteCond % =GET RewriteCond % ^(.*)/index.php$ RewriteRule ^(.*)$ %1/ [R=301,L]

Настройка браузерного кеширования при помощи htaccess 1С-Битрикс

Это позволит нам снизить нагрузку на сервер для увеличения производительности сайта. Обычно рекомендуют использовать именно браузерное кеширование изображений, файлов стилей и скриптов. Чтобы включить кеширование прописываем после секции mod_rewrite следующий код:

  AddOutputFilterByType DEFLATE text/plain text/html AddOutputFilterByType DEFLATE text/css AddOutputFilterByType DEFLATE text/javascript application/javascript application/x-javascript AddOutputFilterByType DEFLATE text/xml application/xml application/xhtml+xml application/rss+xml AddOutputFilterByType DEFLATE application/json AddOutputFilterByType DEFLATE application/vnd.ms-fontobject application/x-font-ttf font/opentype image/svg+xml image/x-icon  #кэшировать html и htm файлы на один день Header set Cache-Control "max-age=43200" #кэшировать css, javascript и текстовые файлы на одну неделю Header set Cache-Control "max-age=604800" #кэшировать флэш и изображения на месяц Header set Cache-Control "max-age=2592000" #отключить кэширование Header unset Cache-Control 

Разработчик: ИП Идиятулин,
ОГРНИП: 318169000179237.

Работает на 1С-Битрикс: Бизнес.

Информация размещенная на сайте, не является публичной офертой.

На сайте vadim24.ru используются cookie-файлы. Оставаясь на сайте, вы даете свое согласие на использование нами cookie-файлов.

Правильный .htaccess для Битрикс(а)

Правильный .htaccess для Битрикс(а)

Редирект с www и index.php в Битриксе изначально не работает. Правильно настроенный htaccess для 1С Битрикс: Управление сайтом позволит повысить уровень индексации сайта поисковыми системами, избежать дублей страниц, увеличить производительность веб ресурса. Тут рассмотрим реализацию редиректа домена с www на без www и уберем дубли страниц index.php.

После установки системы 1С-Битрикс имеем данные в файле .htaccess (в корне сайта)

 Options +FollowSymLinks RewriteEngine On RewriteCond % !-f RewriteCond % !-l RewriteCond % !-d RewriteCond % !/bitrix/urlrewrite.php$ RewriteRule ^(.*)$ /bitrix/urlrewrite.php [L] RewriteRule .* - [E=REMOTE_USER:%] 

Этот блок заменим следующим кодом

 Options +FollowSymLinks RewriteEngine On # Редирект с www на без www RewriteCond % ^www\.(.*) [NC] RewriteRule ^(.*)$ http://%1/$1 [R=301,L] # Удаляем index.php из адреса RewriteCond % ^GET.*index\.php [NC] # Не применяем к админке, иначе перестает работать страница Highload-блоки RewriteCond % !/bitrix/admin/.* [NC] RewriteRule (.*?)index\.php/*(.*) /$1$2 [R=301,NE,L] RewriteCond % !-f RewriteCond % !-d RewriteCond % !-f RewriteCond % !-l RewriteCond % !-d RewriteCond % !/bitrix/urlrewrite.php$ RewriteRule ^(.*)$ /bitrix/urlrewrite.php [L] RewriteRule .* - [E=REMOTE_USER:%] 

Настройка файла .htaccess для 1C Bitrix CMS

Так же как и в любой другой CMS файл .htaccess в 1С Битриксе находиться в корневой ( главной ) директории сайта. Есть нюанс — увидеть данный файл через Административный интерфейс в разделе Структура сайтаФайлы и папки
Если файл .htaccess отсутствует вовсе, тогда его необходимо создать вручную и разместить стандартное содержимое файла для Битрикс.

Работать с файлом .htaccess лучше не через Административный интерфейс, а при sftp/ftp подключении к сайту при помощи файлового менеджера например программы FileZilla.

4.jpg

Стандартное содержимое htaccess для 1С Битрикс 18 ( все редакции )

Options -Indexes ErrorDocument 404 /404.php php_flag session.use_trans_sid off #php_flag default_charset UTF-8 #php_value display_errors 1 php_flag session.use_trans_sid off #php_flag default_charset UTF-8 #php_value display_errors 1 Options +FollowSymLinks RewriteEngine On RewriteCond % !-f RewriteCond % !-l RewriteCond % !-d RewriteCond % !/bitrix/urlrewrite.php$ RewriteRule ^(.*)$ /bitrix/urlrewrite.php [L] RewriteRule .* - [E=REMOTE_USER:%] DirectoryIndex index.php index.html ExpiresActive on ExpiresByType image/jpeg "access plus 3 day" ExpiresByType image/gif "access plus 3 day" ExpiresByType image/png "access plus 3 day" ExpiresByType text/css "access plus 3 day" ExpiresByType application/javascript "access plus 3 day"  

Настройка редиректов в 1С Битрикс

Настройка редиректа с www на без-www в 1С Битрикс

Если вы хотите, чтобы при обращении к вашему сайту по адресу www.ваш-сайт.ru срабатывало перенаправление на ваш-сайт.ru, нужно прописать в файл .htaccess внутри секции mod_rewrite.c следующее правило:

#редирект с www на без-www RewriteCond % ^www\.(.*) [NC] RewriteRule ^(.*)$ https://%1/$1 [R=301,L] 

Данное правило лучше размещать сразу же после конструкции:
Options +FollowSymLinks
RewriteEngine On
Это необходимо для того, чтобы корректно работали все правила обработки ЧПУ сайта

Настройка редиректа с http на https в 1С Битрикс

Если вы на сайте решили подключить SSL сертификат, то вам будет обходимо настроить редирект с версии сайта на обычном протоколе http на защищённый протокол https, в противном случаи вы получите дубли всех страниц сайта. Для настройки редиректа на https нужно добавить в htaccess следующий код:

#редирект с http на https RewriteCond % off RewriteCond % !https RewriteRule ^(.*)$ https://%% [L,R=301] 

Избавляемся от дублей index.php

По умолчанию в 1С Битрикс все страницы доступны как по их ЧПУ так и по адресам с index.php на конце. Т.е если ввести страницу https://ваш-сайт.ру/ и https://ваш-сайт.ру/index.php то по обоим адресам будет доступна одна и та-же страница. От таких дублей нужно избавляться. Для этого разместим в htaccess следующий код:

#убираем /index.php в конце алиаса RewriteCond % ^(.*)/index\.php$ RewriteCond % !bitrix/admin/ RewriteRule ^(.*)index\.php$ http://%/$1 [R=301,L] 

Убираем повторяющиеся слэши в конце адреса

Чтобы убрать дублирующиеся слэши в конце url необходимо в htaccess разместить правило

RewriteCond % ^(.*)/(.*)$ RewriteRule . %1/%2 [R=301,L] 

Добавляем слэш / в конце url адресов

Чтобы страницы не были доступны по двум адресам https://ваш-сайт.ру/catalog и https://ваш-сайт.ру/catalog/ необходимо настроить редирект на один из вариантом. Настроим редирект на страницы со слэшем / для этого в htaccess разместим следующий код:

#редирект URL с без слеша на со слешем на конце адреса RewriteCond % !-f RewriteCond % !-l RewriteCond % !-d RewriteCond % ^(.*/[^/\.]+)$ RewriteRule ^(.*)$ http://%/$1/ [R=301,L] 

Настройка браузерного кэширование при помощи htaccess в 1С Битрикс

Чтобы снизить нагрузку на сервер и увеличить в целом производительность сайта, рекомендуется использовать браузерное кэширование ресурсов сайта: изображений, скриптов, файлов стилей. Для того чтобы включить кэширование необходимо в htaccess после блока mod_rewrite вставить следующий код:

  AddOutputFilterByType DEFLATE text/plain text/html AddOutputFilterByType DEFLATE text/css AddOutputFilterByType DEFLATE text/javascript application/javascript application/x-javascript AddOutputFilterByType DEFLATE text/xml application/xml application/xhtml+xml application/rss+xml AddOutputFilterByType DEFLATE application/json AddOutputFilterByType DEFLATE application/vnd.ms-fontobject application/x-font-ttf font/opentype image/svg+xml image/x-icon  #кэшировать html и htm файлы на один день Header set Cache-Control "max-age=43200" #кэшировать css, javascript и текстовые файлы на одну неделю Header set Cache-Control "max-age=604800" #кэшировать флэш и изображения на месяц Header set Cache-Control "max-age=2592000" #отключить кэширование Header unset Cache-Control  

Итоговый правильный .htaccess для CMS 1С Битрикс

Options -Indexes ErrorDocument 404 /404.php php_flag session.use_trans_sid off #php_flag default_charset UTF-8 #php_value display_errors 1 php_flag session.use_trans_sid off #php_flag default_charset UTF-8 #php_value display_errors 1 Options +FollowSymLinks RewriteEngine On RewriteBase / # редирект с http на https RewriteCond % off RewriteCond % !https RewriteRule ^(.*)$ https://%% [L,R=301] # редирект с www на без-www RewriteCond % ^www\.(.*) [NC] RewriteRule ^(.*)$ https://%1/$1 [R=301,L] # убираем /index.php в конце алиаса RewriteRule ^(.*)index\.php$ $1 [R=301,L] # убираем дубли / RewriteCond % ^(.*)/(.*)$ RewriteRule . %1/%2 [R=301,L] # добавляем / в конце алиасов RewriteCond % ^(.*)/$ RewriteRule .* - [L] RewriteCond % 200 RewriteRule .* - [L] RewriteCond % =GET RewriteCond % ^(.*)/index.php$ RewriteRule ^(.*)$ %1/ [R=301,L] RewriteCond % !-f RewriteCond % !-l RewriteCond % !-d RewriteCond % !/bitrix/urlrewrite.php$ RewriteRule ^(.*)$ /bitrix/urlrewrite.php [L] RewriteRule .* - [E=REMOTE_USER:%] DirectoryIndex index.php index.html SetEnv TZ Europe/Moscow fModule mod_deflate.c> AddOutputFilterByType DEFLATE text/plain text/html AddOutputFilterByType DEFLATE text/css AddOutputFilterByType DEFLATE text/javascript application/javascript application/x-javascript AddOutputFilterByType DEFLATE text/xml application/xml application/xhtml+xml application/rss+xml AddOutputFilterByType DEFLATE application/json AddOutputFilterByType DEFLATE application/vnd.ms-fontobject application/x-font-ttf font/opentype image/svg+xml image/x-icon IfModule> IfModule> IfModule mod_headers.c> #кэшировать html и htm файлы на один день Header set Cache-Control "max-age=43200" #кэшировать css, javascript и текстовые файлы на одну неделю Header set Cache-Control "max-age=604800" #кэшировать флэш и изображения на месяц Header set Cache-Control "max-age=2592000" #отключить кэширование Header unset Cache-Control  

Статья была полезна? Поблагодарите автора.

Самые читаемые
#1С Битрикс, #Bitrix CMS, #.htaccess, #настройка редиректов
4 авг 2019
#bitrix:news, #сортировка, #фильтрация, #bitrix:catalog, #catalog.section, #news.list
16 дек 2020
#Хлебные крошки, #1С Битрикс, #Bitrix CMS, #bitrix:breadcrumbs, #component_epilog, #кэширование
1 окт 2018

#bitrix, #свойства элементов, #обработчик событий, #OnBeforeIBlockElementUpdate, #OnIBlockElementSetPropertyValues

21 июл 2020
#Bitrix CMS, #breadcrumb, #bitrix:breadcrumbs, #хлебные крошки, #настройка
13 фев 2019
#ресайз изображений, #1С Битрикс, #Bitrix CMS
3 мар 2019
#bitrix, #robots.txt, #sitemap.xml, #поддомены, #мультисайтовость
16 окт 2018

#bitrix, #bitrix:catalog.section, #скидки, #товары со скидкой, #страница скидок, #страница со скидками

Где находится файл htaccess в битрикс

.htaccess (от англ. hypertext access) — файл дополнительной конфигурации веб-сервера Apache. Позволяет задавать большое количество дополнительных параметров и разрешений для работы веб-сервера в отдельном каталоге без изменения главного конфигурационного файла httpd.conf.

Файл .htaccess является подобием httpd.conf с той разницей, что действует только на каталог, в котором располагается, и на его дочерние каталоги. Файл .htaccess может быть размещен в любом каталоге. Директивы этого файла действуют на все файлы в текущем каталоге и во всех его подкаталогах, если только эти директивы не переопределены директивами нижележащих файлов .htaccess. Для того, чтобы файлы .htaccess можно было использовать, необходимы соответствующие настройки главного конфигурационного файла httpd.conf (значение директивы AllowOverride должно быть установлено как All). Пути к файлам и каталогам должны указываться от корня сервера.

При внесении изменений в файл .htaccess нет необходимости перезапускать сервер. Файл .htaccess проверяется при каждом обращении к серверу, так что изменения вступают в силу сразу после их внесения. Так как файл является служебным, он не доступен пользователям из веб-браузера.

Обратите внимание! При установке на шаге предварительной проверки производится проверка обработки файлов .htaccess.

В демонстрационном сайте файл .htaccess по умолчанию содержит следующие директивы:

Options -Indexes ErrorDocument 404 /404.php php_flag session.use_trans_sid off #php_flag default_charset UTF-8 #php_value display_errors 1 php_flag session.use_trans_sid off #php_flag default_charset UTF-8 #php_value display_errors 1 Options +FollowSymLinks RewriteEngine On RewriteCond % !-f RewriteCond % !-l RewriteCond % !-d RewriteCond % !/bitrix/urlrewrite.php$ RewriteRule ^(.*)$ /bitrix/urlrewrite.php [L] RewriteRule .* - [E=REMOTE_USER:%] DirectoryIndex index.php index.html ExpiresActive on ExpiresByType image/jpeg "access plus 3 day" ExpiresByType image/gif "access plus 3 day" ExpiresByType image/png "access plus 3 day" ExpiresByType text/css "access plus 3 day" ExpiresByType application/javascript "access plus 3 day" 

Внимание! Для активизации закомментированных PHP директив необходимо снять знак комментария (#) в начале строки. Если на вашем сервере Apache не установлено разрешение на использование PHP-флагов, выполнение данных директив приведет к возникновению внутренней ошибки (500). В случае возникновения ошибки необходимо снова закомментировать директивы, поместив в начало каждой знак #.

Для остальных PHP директив, не обозначенных знаком комментария (#), добавлена проверка на наличие необходимых модулей Apache в системе. Выполнение данных директив не приведет к возникновению ошибки в системе.

  1. PHP директива php_flag session.use_trans_sid off производит отключение подстановки идентификатора сессии в ссылке на сайте.
  2. Значение PHP флага php_value display_errors 1 , указывает на то, что включено разрешение на вывод сообщений о возникновении ошибок. Директива php_value error_reporting определяет уровень ошибок, при возникновении которых будет выводиться сообщение. С помощью указанных директив можно настроить режим вывода интерпретатором PHP сообщений об ошибках. php_value mbstring.func_overload 2 и php_value mbstring.internal_encoding UTF-8 управляют настройкой библиотеки mbstring. —>
  3. Блок директив IfModule mod_rewrite.c — это настройка правил для mod_rewrite . AddType application/x-httpd-php .ico определяет обработку расширения ico как php-файлов. —>
  4. Директива ExpiresActive on включает кеширование изображений, позволяющее ускорить их загрузку при повторном обращении к страницам сайта.
  5. Директивы ExpiresByType image/jpeg «access plus 3 day» , ExpiresByType image/gif «access plus 3 day» , ExpiresByType image/png «access plus 3 day» , ExpiresByType text/css «access plus 3 day» , ExpiresByType application/javascript «access plus 3 day» в свою очередь, определяют формат изображений, стилей, скриптов и срок, на который будет произведено кеширование. По умолчанию, выполняется кеширование файлов формата .jpeg, .gif, .png, css и .js сроком на 3 дня.

Внимание! После внесения изменений, файл .htaccess должен быть сохранен в UNIX-формате (для оболочки FAR опция Сохранить как UNIX-текст).

Авторизация в режиме CGI

В некоторых случаях может не работать авторизация при обмене данными с 1С. Часто проблема возникает в результате работы php в режиме CGI. В этом режиме есть проблемы с передачей данных авторизации HTTP в php. Можно это проверить, посмотрев phpinfo() в разделе Server API: CGI .

Можно обойти проблему, но необходимо чтобы на сервере была включена обработка .htaccess и поддержка mod_rewrite. Для этого выполните следующие действия:

    В корне сайта в файл .htaccess добавьте строки:

RewriteEngine on RewriteRule .* - [E=REMOTE_USER:%,L]
# # RewriteEngine Off #
$remote_user = $_SERVER["REMOTE_USER"] ? $_SERVER["REMOTE_USER"] : $_SERVER["REDIRECT_REMOTE_USER"]; $strTmp = base64_decode(substr($remote_user,6)); if ($strTmp) list($_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW']) = explode(':', $strTmp);

Для проверки работоспособности HTTP-авторизации воспользуйтесь скриптом.

Внимание! Данный вариант обхода не всегда может решить проблему. Если при выполнении всех рекомендаций HTTP-авторизация не заработала, то следует детально разбираться с проблемой.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

https://kapelnicza.vyvod-iz-zapoya-v-stacionare-samara12.ru/