Как отключить eAccelerator, OPcache или Xcache? Настройка битрикс opcache


Ручная установка и настройка php модулей, для оптимальной работы сайтов на CMS битрикс, средствами консоли управления сервером

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

И так приступим, рекомендуемые модули, которые не входят в стандартную конфигурацию php – это memcache и его аналог, но принципы которого основаны немного иначе – ZendOpcache. Перед установкой кеширующих модулей необходимо убедится в отсутствии других аналогичных модулей во избежание конфликтов в их работе, для этого в консоли введем следующую команду:

# php -m |grep -i -e “cache” -e “apc”

Если вывод будет отсутствовать – значит в системе не установлены кеширующие модули,  в нашем случае присутствует Xcache  с его компонентами:

514d0-clip-30kb (2)

Или аналогичная проверка с панели управления, из под root (1) пользователя переходим в раздел РНР (2) после в настройку расширений для текущей версии РНР (3) и вводим фильтр слово  (4):

15e21-clip-177kb

 

Определив присутствующие в системе модули кеширования, приступаем к их отключению для установки нужных нам:

С панели управления все выполняется довольно просто, их выделяем (1)  и нажимаем отключить (2)

6280c-clip-44kb

Для проведения работ через панели достаточно купить виртуальный хостинг, в таком случае у Вас будет доступ к панели cPanel  или ISPmanager, при аренде VPS VDS сервера – панель необходимо будет оплатить отдельно. С консоли данный процесс же немного сложней, для начала определяем  расположение конфигурационного файла нашего модуля, для этого используем следующую команду подставляя вместо Xcache название найденного у Вас модуля, расширение “.so” необходимо оставить:

# grep -rli ‘XCache.so’ /etc/php*

В нашем случае, данным файлом оказался конфигурационный файл панели управления, по скольку мы проводим данную процедуру на сервере с панелью, в случае  же без панели управления данный файл вероятней всего имел бы путь : /etc/php.d/xcache.ini, мы получили же следующее:

80013-clip-28kb

После чего открываем через удобный Вам редактор, найденный файл:

# vi /etc/php.d/ispmgr.ini

И комментируем ( на начале строки вставляем символ “;”, который отменяет действие строки) строку,  где указано включение модуля, для редактировния строки в  утилите vi наведя курсор в нужную строку нажимаем “i” после ставим нужный символ в начале строки и нажимаем “Esc” как показано на изображении:

beb46-clip-15kb

После чего вводим комбинацию “:wq”, тем самым выполняя сохранение и закрытие файла., после проверяем включение модуля и перезагружаем службу веб-сервера, чтобы изменения вступили в силу:

# php -m |grep -i -e “cache” -e “apc”

# /etc/init.d/httpd restart

(мы выполняем данные манипуляции на все той же рекомендуемой нами ОС Centos, в случае с другими ОС данные команды могут отличаться, а именно перезагрука веб сервера может иметь вид

# /etc/init.d/apache restart )

9e066-clip-48kb

И приступаем непосредственно к установке нужных нам модулей, для начала обновим  пакеты с подключенных репозиториев:

# yum update

После чего выполняем установку командой:

# yum install php-opcache  php-pecl-memcache* memcache*

f1b6c-clip-338kb

В результате у нас возник конфликт пакетов, для этого убедившись, что конфликтуючий модуль не используется ни одним сайтом на Вашем сервере, можем его удалить, для этого выполним команду:

# yum remove php-xcache*

239f9-clip-222kb

После повторяем :

# yum install php-opcache  php-pecl-memcache* memcache*

После завершения установки необходимо выполнить ряд следующих команд:

Включаем автозагрузку службы memcached  :

# chkconfig memcached on

Запускаем службу memcached  :

# /etc/init.d/memcached start

Перезагружаем веб сервер:

# /etc/init.d/httpd restart

Проверяем наличие кеширующего модуля php:

# php -m |grep -i -e “cache” -e “apc”

В итоге Вы должны увидеть следующие результаты:

9838b-clip-82kb

Далее переходим в административную панель управления сайтом, для активации рекомендуемой опции композитного сайта, для оптимальной работы которой мы и производили установку memcache , переходим в меню композитного сайта или по ссылке:

http://Ваш_сайт/bitrix/admin/composite.php?lang=ru , где устанавливаем следующие параметры (1) включаем композитный сайт, устанавливаем хранение кеша в memcache (2), проверяем соединение с портом memcache (3) и сохраняем (4) :

4acb9-clip-175kb

Ну и разумеется заключительный этап, проверяем производительность и оценку системы:

6c955-clip-251kb

Как видите, производительность системы была оценена  в 85,97 баллов.

Также полезной станет статья по настройке сервера с панелью ISPmanager5 под 1С Битрикс, детальнее по ссылке.

Если у Вас возникнут вопросы в процессе настройки, обращайтесь в  нашу круглосуточную  службу технической поддержки, используя тикет систему или онлайн чат. Сотрудники HyperHost™ всегда будут рады Вам помочь!

Приятной работы!

4697 раз(а) 6 Сегодня просмотрено раз(а)

hyperhost.ua

Как отключить eAccelerator, OPcache или Xcache? | REG.RU

eAccelerator

Отключить полностью eAccelerator нельзя. К сожалению, внесение директив в php.ini также не поможет — большинство известных нам CMS смотрят на само наличие eAccelerator на сервере. Удалить eAccelerator тоже не представляется возможным — для части клиентов его наличие является необходимым.

Если ваш проект работает некорректно с eAccelerator, в качестве решения проблемы мы рекомендуем использовать сборку PHP c OPcache или Xcache:

OPcache и Xcache

Отключение OPcache или Xcache происходит в конфигурационном файле php.ini.

Откройте панель управления хостингом: Как открыть панель управления хостингом и следуйте дальнейшей инструкции для вашей панели управления:

ISPmanager 4

1перейдите в Менеджер файлов, далее в папку php-bin: 2кликните два раза на файл php.ini — тем самым вы его откроете на редактирование. Обратите внимание: чтобы вы смогли внести изменения в файл, права на него должны стоять «644». Изменить права на файл можно кликнув Атрибуты:

3запишите в файл строку, в зависимости от того, что именно вам необходимо отключить. После внесения изменений закройте и сохраните файл.

# вам необходимо отключить OPcache opcache.enable = Off # вам необходимо отключить Xcache xcache.cacher = Off

Внимание

Чтобы изменения вступили в силу, необходимо, чтобы web-сервер перечитал php.ini. Самый простой способ — это сменить версию PHP на отличную от текущей, после чего вернуть прежнюю версию. Как сменить версию PHP.

ISPmanager 5

1перейдите в Менеджер файлов, далее в папку php-bin: 2кликните два раза на файл php.ini — тем самым вы его откроете на редактирование. Обратите внимание: чтобы вы смогли внести изменения в файл, права на него должны стоять «644». Изменить права на файл можно кликнув Атрибуты:

3запишите в файл строку, в зависимости от того, что именно вам необходимо отключить. После внесения изменений закройте и сохраните файл.

# вам необходимо отключить OPcache opcache.enable = Off # вам необходимо отключить Xcache xcache.cacher = Off

Внимание

Чтобы изменения вступили в силу, необходимо, чтобы web-сервер перечитал php.ini. Самый простой способ — это сменить версию PHP на отличную от текущей, после чего вернуть прежнюю версию. Как сменить версию PHP.

Parallels Plesk Onyx 17

1

перейдите в раздел Файлы, далее в папку php-bin: отключить opache plesk onyx 1

2

кликните на строке рядом с названием файла php.ini и выберите Редактировать как текст или Редактировать как код: отключить opache plesk onyx 2

Обратите внимание: чтобы вы смогли внести изменения в файл, права на него должны стоять «rwx rw- rw-». Вы можете кликнуть по этой ссылке и изменить права, если у вас они отличаются (при изменении поставьте галочки в колонке «Запись»).

3выберите строку кода (opcache.enable = Off или xcache.cacher = Off) в зависимости от того, какое расширение вы хотите отключить, и запишите в открывшемся редакторе. Сохраните изменения и закройте файл.

# вам необходимо отключить OPcache opcache.enable = Off # вам необходимо отключить Xcache xcache.cacher = Off

Внимание

Чтобы изменения вступили в силу, необходимо, чтобы web-сервер перечитал php.ini. Самый простой способ — это сменить версию PHP на отличную от текущей, после чего вернуть прежнюю версию. Как сменить версию PHP.

cPanel

# вам необходимо отключить OPcache opcache.enable = Off # вам необходимо отключить Xcache xcache.cacher = Off

Внимание

Чтобы изменения вступили в силу, необходимо, чтобы web-сервер перечитал php.ini. Самый простой способ — это сменить версию PHP на отличную от текущей, после чего вернуть прежнюю версию. Как сменить версию PHP.

www.reg.ru

Оптимизация ISPmanager под проекты на Битриксе или как я скрестил ISPmanager и VMBitrix (Битрикс окружение) / Хабр

Битриксовый скрипт restore.php в режиме Apache MPM-ITK падает с ошибкой short_open_tag parameter must be turned on in php.ini Происходит это из-за неправильно использования условия if в этом скрипте. Проблема существует, потому что во всех остальных режимах php она не модулируется, но я уже связался с разработчиками 1С-Битрикс и они должны будут исправить проблему (другой вопрос когда они это сделают). Если кого-то интересуют подробности бага — отвечу в комментариях

Пока что, в качестве временного фикса, используем для восстановления сайта дистрибутив из прикреплённого к статье архиву.

Для вашего удобства, всё решение оформлено в полностью автоматические скрипты и заранее подготовленные конфигурационные файлы.

Рассматривается следующий сценарий:

  1. Вы установили чистую CentOS 6.6 x86_64
  2. Установили ISPmanager 4/5, следуя официальным инструкциям
  3. В разделе «Возможности» панели ISPmanager 4/5 активировали Nginx

Далее можно приступать к самой оптимизации: (все ссылки в конце публикации)

  1. запускаем «bitrix-env_5.1.2_patched_2.sh»
  2. копируем скрипт «isp_patch_V0.x.sh» вместе с распакованным архивом «patch_filesV0.1.zip» в произвольную директорию на сервере
  3. запускаем «isp_patch_V0.x.sh»

Поздравляю, ваш сервер с ISPmanager 4/5 готов для работы с проектами на Битрикс

Осталось только развернуть сайт на свежем домене: (все ссылки в конце публикации)

Полностью рабочий дефолтный ISPManager 4/5, который научился работать с проектами на Битриксе быстро и без потери функционала.

Сборка уже используется в нашей компании — Эм Си Арт, как для своих сайтов и стендах, так и для продакшен сайтов клиентов.

Буду рад любым вашим комментариям, замечаниям и пожеланиям!

Этап 1. bitrix-env.sh (или «1С-Битрикс: Веб-окружение» — Linux)

Классическая установка Битрикса происходит на Битрикс-окружение, которое устанавливается через скрипт www.1c-bitrix.ru/products/env Именно с разбора bitrix-env.sh мы и начнём оптимизацию своего ISPmanager. На самом деле, в самом скрипте ничего особенного нет, сначала идёт стандартная проверка дистрибутива системы, затем, по результатам этой проверки, устанавливается то или иное необходимое ПО. Вся магия происходит, когда скрипт добавляет «фирменный» репозиторий 1С-Битрикс и устанавливает в систему пакет bitrix-env* и bx-nginx. На них мы заострим своё внимание.

И так, наш "bitrix-env_5.1.2_patched_2.sh" ничто иное, как немного переделанный скрипт от самого 1С-Битрикс, но основная «фишка» в установке bitrix-env из него убрана, почему — расскажу дальше.

Этап 2. bitrix-env.rpm (или Основной этап конфигурации)

Экосистема, которую предлагает bitrix-env, нам не подходит, нагромождения потенциально конфликтующих пакетов/конфигов ISPmanager и Битрикс-окружения нам вовсе ни к чему.

Оставив только нужно на мой взгляд я перенёс всё из rpm пакета в скрипт isp_patch.sh (внимание, протестирован только на centos 6.6 x64).

Далее — немного подробнее.

Этап 2.1 bx-nginx (или Nginx с поддержкой Push & Pull)

Этот пакет, который нам предлагает Битрикс-окружение, является ничем иным, как скомпилированным nginx с модулем «push and pull», который применяется в таком функционале как, например, «Бизнес-чат», «Живые комментарии», «Видеозвонки», «Мобильное приложение».

Мы можем просто забрать себе в систему, любезно скомпилированный 1С-Битрикс, готовый бинарник nginx на свою машину с ISPmanager и избавить себя от необходимости компилировать его самостоятельно (22 и 23 строки скрипта)

Этап 2.2 bvat.bx (или автотюнер параметров ПО)

Интересным составляющим «Битрикс-окружения» является скрипт bvat.bx, который прописывается в автозагрузку системы и выполняет работу по тюнингу параметров ПО, отвечающее за работу проекта (преимущественно mysql сервера и расходу оперативной памяти). Сам тюнер работает довольно просто. Основываясь на текущей конфигурации системы он выставляет тот или иной заготовленный «пресет» настроек в качестве действующих параметров. Хотелось бы заметить, что в конфигурации предусмотрено изменения параметров, которые выставил bvat.bx без полного его отключения (хотя можно поступить и так).

В нашем скрипте за его установку отвечают строки 25-31

Аналогично эталонному Битрикс-окружению, свои собственные параметры для mysql сервера можно прописать в файле /etc/mysql/conf.d/z_bx_custom.cnf (которые будут применены в обход bvat.bx). Так же, подключением своих конфигурационных файлов после конфигурационных файлов bvat, можно обойти его автонастройки для остального ПО, если тот или иной параметр, выставленный автоматически, вас не устраивает.

Так как логика скрипта мне по душе, дополнить его «автоматику» своими значениями не составляет труда, а его установка в систему была довольно проста, я включил его в свою конфигурацию.

Этап 2.3 Настройки php

Изменяем несколько параметром в php.ini (строки 33-40 в нашем скрипте) и отключаем dav модули для php

Этап 2.4 Настройки mysql

42-48 строки скрипта копируют заранее подготовленный и настроенный my.cnf, в котором вы наверняка захотите что-нибудь поменять уже самостоятельно.

Этап 2.5 bitrixenv.ini (или директивы php необходимые для работы Битрикса)

Неотъемлемой частью классического Битрикс-окружения является файлик /etc/php.d/bitrixenv.ini, содержащий необходимые настройки директив, перечисленные в нём.

с минимальной разницей с оригинальным файлом, я скопирую его на свою машину с ISPmanager, как файл /etc/httpd/bx/bx_apache.conf (строки 50-52).

Важно заметить, что этот файлик мы нигде не инклюдим намеренно, чтобы прописывать его при необходимости только отдельным Virtualhosts созданным из-под ISPmanager (в секцию конфиг-apache).

Этап 2.6 Настройка nginx

Настройки nginx в моём скрипте имеют долю «автотюна» (строка 64 и 67) Остальное взято из конфигурационных файлов для nginx от Битрикс-окружения

строки 72-77 отвечают за компрессию на уровне сервера 79-82 — за push&pull

Обратите внимание на файл bx/conf/bitrix.conf . Важно заметить, что этот файлик мы нигде не инклюдим намеренно, чтобы прописывать его при необходимости только отдельным хостам, созданными из-под ISPmanager (в секцию конфиг-nginx)

кроме того, в нём есть блок «Some security options» с заранее подготовленными, но закоментированными опциями, имеющими отношения к безопасности хоста.

isp.bitrix_v0.6.zip

habr.com

Битрикс на CentOS 7 [RTzRa's hive]

Используемое ПО: CentOS 7, Nginx, MariaDB, PHP 7 FPM

Установка CentOS 7

Все как обычно, только выбрать тип файловой системы EXT4

После установки:

# yum update # yum install mc bash-completion net-tools wget

Nginx

# rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm # yum install nginx -y # systemctl enable nginx

PHP 7

# rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm # rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm # yum install php70w php70w-mysql php70w-fpm php70w-mcrypt php70w-mbstring php70w-gd php70w-devel php70w-opcache -y

MariaDB

# yum -y install mariadb-server mariadb # systemctl enable mariadb

SELinux

Традиционно отключаем дабы не создавало проблем.

Редактируем /etc/sysconfig/selinux

SELINUX=disabled

Создаем папки для сайта

# mkdir -p /home/www/example # chown -R nginx:nginx /home/www/example # chmod -R 755 /home/www/example

Настраиваем PHP

В /etc/php.ini меняем значения по умолчанию на указанное ниже:

cgi.fix_pathinfo=0 short_open_tag=on mbstring.func_overload=2 mbstring.internal_encoding=UTF-8 date.timezone = Europe/Moscow #ваша_временная_зона max_input_vars = 10000 post_max_size = 20M upload_max_filesize = 20M realpath_cache_size = 4096k display_errors = On memory_limit = 256M

В /etc/php.d/opcache.ini меняем значения по умолчанию на указанное ниже:

opcache.revalidate_freq=0 opcache.max_accelerated_files = 100000

Проверяем файл /etc/php.d/pdo_mysql.ini - если он существует, значит нужно отключить pdo_mysql т.к. оно не будет работать вместе с mysqli:

;extension=pdo_mysql.so

Вносим изменения в файл /etc/php-fpm.d/www.conf

user = nginx group = nginx listen.owner = nobody listen.group = nobody listen.mode = 0666 listen = /var/run/php-fpm/php-fpm.sock

Запускаем и добавляем в автозагрузку:

# systemctl enable php-fpm # systemctl start php-fpm

Это создаст нужный нам php-fpm.sock файл, зададим ему права и владельца

# chmod 666 /run/php-fpm/php-fpm.sock # chown nginx:nginx /run/php-fpm/php-fpm.sock

MariaDB

Запускаем скрипт первоначальной установки настроек безопасности:

# /usr/bin/mysql_secure_installation При запуске этого скрипта будет запрошен пароль для root пользователя и будут заданы другие вопросы безопасности на которые нужно отвечать Y или N (желательно на все вопросы ответить Y).

Стандартные файлы конфигурации (/etc/my.cnf и содержимое папки /etc/my.cnf.d) заменяем прилагаемыми из этого архива: mariadb-bitrix-configs.tar.bz2

Перед запуском необходимо убедиться что MariaDB не запущена и из папки /var/lib/mysql удалить файлы ib_logfile0…ib_logfileN

Запускаем MariaDB

# systemctl start mariadb

и проверяем логи - все должно быть без ошибок.

Создаем базу данных для Битрикс-сайта. Входим в консоль mysql под root-пользователем:

# mysql -h localhost -u root -p (вводим пароль указанный в скрипте mysql_secure_installation)

Создаем базу в кодировке UTF-8:

> CREATE DATABASE `example_db` CHARACTER SET utf8 COLLATE utf8_unicode_ci; > CREATE USER 'example_db_user'@'localhost' IDENTIFIED BY 'example_db_password'; > GRANT ALL PRIVILEGES ON example_db.* TO 'example_db_user'@'localhost'; > FLUSH PRIVILEGES; > quit;

example_db - название базы

example_db_user - пользователь

example_db_password - пароль пользователя

Ngnix

Заменяем оригинальный файл /etc/nginx/nginx.conf прилагаемым: nginx.conf.zip

Создаем файл настроек виртуалхоста /etc/nginx/conf.d/example.conf - example.conf.zip

Измените его под себя (домен, пути и т.д.)

Меняем права на директорию сессий

# chown -R nginx:nginx /var/lib/php/session

Запускаем

# systemctl enable nginx

Порты для работы Bitrix

firewall-cmd --zone=public --add-port=25/tcp --permanent firewall-cmd --zone=public --add-port=80/tcp --permanent firewall-cmd --zone=public --add-port=443/tcp --permanent firewall-cmd --zone=public --add-port=5222/tcp --permanent firewall-cmd --zone=public --add-port=5223/tcp --permanent firewall-cmd --zone=public --add-port=8890/tcp --permanent firewall-cmd --zone=public --add-port=8891/tcp --permanent firewall-cmd --zone=public --add-port=8893/tcp --permanent firewall-cmd --zone=public --add-port=8894/tcp --permanent firewall-cmd --reload

Финальная проверка

В конце концов перезагружаем сервер чтобы убедиться что все хорошо работает и успешно запускается.

Загружаем скрипты Битрикса

Необходимо провести полное тестирование (Рабочий стол → Настройки → Инструменты → Проверка системы) и добиться чтобы все было настроено согласно рекомендациям.

wiki.rtzra.ru

Настройка опций в файле .htaccess

Директивы необходимо добавлять в самый конец или в самое начало файла, вне блоков кода <IfModule>…</IfModule>.

apc.cache_by_default

APC — акселератор PHP, использование которого увеличивает производительность интерпретатора за счет кэширования. В отдельных случаях, однако, может потребоваться его отключение — например, если скрипты не выполняются корректно из-за переполнения кэша.

Управление APC осуществляется директивами:

php_flag apc.cache_by_default on

php_flag apc.cache_by_default off

default_charset

Директива указывает кодировку по умолчанию (например, cp1251, utf-8, koi8-r) для всех выдаваемых страниц.

AddDefaultCharset cp1251

php_value default_charset cp1251

display_errors

Директива указывает, требуется ли выводить ошибки на экран вместе с остальным выводом, либо ошибки должны быть скрыты от пользователя.

Включение и выключение осуществляются следующим образом:

php_value display_errors 0

php_value display_errors 1

log_errors

Опция позволяет включить логирование ошибок php с их записью в произвольный файл (в примере errors.log). При указании пути к файлу замените u и user на первую букву Вашего логина и сам логин.

php_value log_errors on

php_value error_log /home/u/user/путь_к_файлу/errors.log

magic_quotes_gpc

Волшебные кавычки (Magic Quotes) — это процесс автоматического экранирования входящих данных PHP-скрипта. Если опция включена, то одинарные (‘) и двойные («) кавычки  и обратный слэш (\)экранируются обратным слэшем автоматически.

Включение и выключение magic_quotes осуществляется директивами:

php_flag magic_quotes_gpc on

php_flag magic_quotes_gpc off

Опция позволяет включить логирование отправки почты из скриптов сайта. Логи будут содержать полный путь до скрипта, адрес получателя и заголовки. При указании пути к файлу, в который будут записываться логи (mail.log), замените u и user на первую букву Вашего логина и сам логин.

php_value mail.add_x_header 1

php_value mail.log /home/u/user/public_html/mail.log

max_input_vars

Директива указывает, сколько входных переменных может быть принято в одном запросе. Например:

php_value max_input_vars 11000

mbstring.func_overload и mbstring.internal_encoding

Чаще всего к данным функциям требуется обращаться для настройки корректной работы сайтов на CMS Битрикс. В этом случае должны быть указаны следующие параметры:

php_value mbstring.func_overload 2

php_value mbstring.internal_encoding UTF-8

При этом для большинства других CMS необходимы иные значения этих функций:

php_value mbstring.func_overload 0

php_value mbstring.internal_encoding UTF-8

opcache.revalidate_freq

Отключение OpCache (настройка требуется для CMS Битрикс):

php_value opcache.revalidate_freq 0

pcre.recursion_limit

Устанавливает лимит на рекурсию.

php_value pcre.recursion_limit 14000

post_max_size

Опция устанавливает максимально допустимый размер данных, отправляемых методом POST. Также это значение также влияет на загрузку файлов — для загрузки больших файлов оно должно быть больше значения директивы upload_max_filesize.

php_value post_max_size 40M

register_globals

Директивы для включения/выключения глобальных переменных:

php_flag register_globals on

php_flag register_globals off

request_order

Директива регулирует порядок, в котором PHP добавляет переменные GET, POST и Cookie в массив _REQUEST.

php_value request_order GPC

upload_max_filesize

Устанавливает максимальный размер закачиваемого файла.

php_value upload_max_filesize 30M

sershe.ru

Файл .htaccess - Раздел помощи

Файл .htaccess позволяет производить дополнительную конфигурацию веб-сервера Apache для достижения таких целей, как:

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

Домены с кириллическими символами

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

Организация переадресации с одного сайта на другой

Для организации переадресации с одного сайта на другой достаточно добавить следующие строки в файл .htaccess:

где from\.com — имя домена, с которого должна осуществляться переадресация, а "to.com" - ее цель. При этом экранирование символа точки обратной косой чертой \ во второй строке не является обязательным.

Переадресация поддомена в подкаталог сайта

Организация переадресации запросов на поддомен в подкаталог сайта осуществляется путем добавления в файл .htaccess следующих строк:

где img\.example\.com нужно заменить на имя поддомена, с которого должна осуществляться переадресация, а img на имя подкаталога, в котором находятся файлы поддомена. При этом экранирование символа точки обратной косой чертой \ в третьей строке не обязательно.

Переадресация с протокола HTTP на протокол HTTPS

Переадресация с протокола HTTP на протокол HTTPS осуществляется добавлением кода в .htaccess файл:

и наоборот, с HTTPS на HTTP:

Ограничение/разрешение доступа к сайту с определённых IP-адресов

Для ограничения доступа к сайту с определённых IP-адресов в файл .htaccess требуется добавить:

где вместо подстроки IP требуется добавить IP-адрес, для которого нужно будет ограничить доступ, или список таких IP-адресов перечисленных через символ пробела.

Если требуется разрешить доступ к сайту только с определённых IP-адресов, то для этого можно добавить следующие строки:

где IP — IP-адрес, для которого будет разрешён доступ, или список таких IP-адресов перечисленных через символ пробела.

Ограничение доступа к определённым файлам

Настройка ограничения доступа к определённым файлам производится путем добавления в .htaccess файл:

где ПУТЬ_К_ФАЙЛУ - необходимо заменить на целевой файл, а IP — на IP-адрес, для которого будет разрешён доступ.

Назначение кодировки для заголовков отдаваемых сервером по умолчанию

Для назначения кодировки для заголовков отдаваемых сервером по умолчанию достаточно добавить:

Затруднения с отображением кодировок, как правило, связаны с тем, что устаревшее ПО (сайт, CMS) использует кодировку отличную от той, на работу с которой сконфигурирован сервер. Данная директива может помочь в устранении данной ошибки.

Корректная установка CMS Bitrix

Для корректной установки CMS Bitrix в файле .htaccess необходимо указать следующее :

Изменение значений директив register_globals или magic_quotes_gpc

Если используетcя PHP, установленный как модуль веб-сервера Apache, и не используются глобальные переменные, рекомендуется отключать опцию register_globals в целях безопасности. Отключение register_globals производится внесением в файл .htaccess строки:

В том случае, если "волшебные кавычки" включены, то спецсимволы, к примеру, такие как одиночные и двойные кавычки. будут экранироваться обратными слэшами "\", что не всегда удобно. В версиях PHP 5.4.0. и выше данная директива не поддерживается. Для отключения "волшебных кавычек" в .htaccess следует добавить строку:

Отображение возникающих ошибок PHP на странице

Иногда для произведения анализа работы сайта может потребоваться отображение возникающих ошибок PHP в браузере. Эту задачу можно решить добавлением двух строк в файл .htaccess:

Указание собственной страницы ошибок

Установка собственных страниц ошибок возможна с помощью директивы ErrorDocument. После ErrorDocument указывается номер ошибки и путь к странице с ошибкой (либо текстовое сообщение). Примеры использования:

Временное отключение кеширования OPCache

Полный список и подробности того, какие директивы доступны для редактирования через файл .htaccess, предоставлены в официальной документации PHP и веб-сервера Apache2 по следующим ссылкам:

help.sweb.ru


Prostoy-Site | Все права защищены © 2018 | Карта сайта