Что такое .htaccess.

Как проверить работоспособность в .htaccess? Все просто, напишите в первой строчке этого файла любое слово (например MOYSITE), сохраните файл и замените им находящийся на сервере. Если сайт продолжит работать, то .htaccess в данный момент не работает. Если же появится ошибка 500 Internal Server Error, то это значит, что веб-сервер не смог понять команду (MOYSITE) и выдал ошибку. Этот факт подтвердит, что работа .htaccess на сервере поддерживается и включена в данный момент. Чтобы вернуть сайту работоспособность удалите строчку с MOYSITE.
Что такое htaccess

Эта статья предназначена для тех, у кого пока нет своего сайта, и для владельцев сайтов, которые хотят повысить их юзабилити и поднять свой сайт в результатах поиска.

Что такое .htaccess ? Содержание

Определение .htaccess ?

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

Файл .htaccess может содержаться как в корневом каталоге сайта, и тогда его действия распространяются на весь сайт, либо в других каталогах, и тогда его действие будет распространяться на эти каталоги.

Изменения файла .htaccess может серьёзно повлиять на работу сайта. Может нарушить работу.

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

Где находится файл .htaccess?

Обычно файл .htaccess располагается в корневом каталоге сайта.

Наглядный пример расположения файла .htaccess в корневом каталоге:

Пример расположения .htacces
В различных CMS можно встретить файл .htaccess.txt Он не воспринимается сервером, поэтому его необходимо переименовать в .htaccess. Файл .htaccess так же является текстовым файлом, поэтому все коррективы в него лучше всего вносить при помощи  Notepad++, либо использовать простой блокнот. Использование Word невозможно для правок .htaccess, потому что Word добавляет свои скрытые символы разметки. В различных CMS существуют плагины для обеспечения наглядности внесения изменений в файл .htaccess. Однако, для внесения изменений прямо на сервере нужно использовать FTP – клиент своего сервера. В WordPress редактировать .htaccess можно с помощью модулей плагинов Yoast SEO и All in One SEO Pack. С одной стороны — не всё понятно, с другой стороны большинство работников он-лайн поддержки хостинга помогут Вам в этом деле, и даже внесут эти правки за Вас.

Как проверить работоспособность в .htaccess?

Все просто, напишите в первой строчке этого файла любое слово (например MOYSITE), сохраните файл и замените им находящийся на сервере. Если сайт продолжит работать, то .htaccess в данный момент не работает. Если же появится ошибка 500 Internal Server Error, то это значит, что веб-сервер не смог понять команду (MOYSITE) и выдал ошибку. Этот факт подтвердит, что работа .htaccess на сервере поддерживается и включена в данный момент. Чтобы вернуть сайту работоспособность удалите строчку с MOYSITE.

Синтаксис .htaccess

Синтаксис файла простой: каждая директива (команда) начинается с новой строки, после знака # можно добавлять комментарии, которые не будут учитываться сервером. Изменения на сайте вступают в силу сразу, перезагрузка сервера не требуется.

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

 

Основные спецсимволы:

  • ^ — начало строки;
  • $ — конец строки;
  • . — любой символ;
  • * — любое количество любых символов;
  • ? — один определенный символ;
  • [0-9] — последовательность символов, например, от 0 до 9;
  • | — символ «или», выбирается или одна группа, или другая;
  • () — иcпользуется для выбора групп символов.

Основные переменные:

    • %{HTTP_USER_AGENT} — поле User-Agent, которое передает браузер пользователя;
    • %{REMOTE_ADDR} — IP адрес пользователя;
    • %{REQUEST_URI} — запрашиваемый URI;
    • %{QUERY_STRING} — параметры запроса после знака ?.
    Для тех, кто хочет основательно погрузиться в тему, — полная официальная документация по использованию .htaccess.

Примеры использования файла .htaccess

  1. Редирект 301 и 302, при помощи .htaccess, его правильная настройка, использование, случаи применения.
  2. Обработка ошибок
  3. Настройка безопасности сайта
  4. Оптимизация работы сайта
  5. Настройка PHP

Редирект 301 и 302, при помощи .htaccess, его правильная настройка, использование, случаи применения

Это самый популярный способ использования .htaccess. Перед тем, как настраивать тот или иной вид переадресации, убедитесь, что это действительно необходимо. Например, редирект на страницы со слешем в некоторых CMS настроен по умолчанию.

ВАЖНО!

При настройке редиректов страниц не настроить случайно цепочки редиректов. Используйте редирект той или иной страницы не более одного раза. В случае цепочки редиректов вы можете запутать поисковый робот, и это очень отрицательно скажется как на позициях отдельных страниц, так и на позиции сайта целиком.

Настраиваем постраничные 301 редиректы

Это потребуется в следующих случаях:

  • изменилась структура сайта и у страницы поменялся уровень вложенности;
  • страница перестала существовать, но нужно сохранить ее входящий трафик (например, в случае отсутствия товара обычно делают переадресацию на товарную категорию);
  • поменялся URL, что крайне нежелательно, но тоже встречается.

Просто удалить страницу очень плохо. Страница будет удалена, но “внутри интернета” она сохранится. Поисковики будут к ней обращаться, и получать 404 ответ от сервера. Лучше перенаправить его на другой URL. В этом случае есть шанс не потерять позиции сайта в выдаче и целевой трафик. Настроить 301 редирект с одной страницы на другую можно при помощи директивы простого перенаправления:

ВАЖНО!

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

RewriteEngine On

Закомментировать директиву можно поставив # в начале строки.

301 Редирект с одной страницы на другую (или сайт)

Для этого в файл .htaccess вносим следующие строки:

# Redirect starts

Redirect / старая-страница.html  новая-страница.html

# Redirect ends

302 Редирект с одной страницы на другую (или сайт) – временный редирект. Совсем не рекомендуем его использовать. Применяется, если редирект временный.

RedirectPermanent /старая-страница.html новая-страница.html

301 Редирект с www-сайта на сайт без www

Определять, с «www» или без будет главное зеркало, можно несколькими способами:

  • добавить сайт в Яндекс.Вебмастер в двух вариантах, в консоли отобразится информация, какой URL поисковик считает главным зеркалом;
  • проанализировать выдачу и посмотреть, каких страниц сайта больше в индексе;
  • для нового ресурса не имеет значения, с «www» или без будет адрес, выбор за вами.

Иногда, по ошибке, Яндекс.Вебмастер неправильно определяет главное зеркало, и проще помочь ему переопределиться прямо в Яндекс.Вебмастере.

Например перенаправление с http://www.site.com на http://site.com. Это очень полезная вещь, часто используется в SЕО

Options +FollowSymLinks

RewriteEngine On

RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]

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

Обратный редирект с домена без www на домен с www

Перенаправление с http://site.com на http://www.site.com (не советуем использовать)

# Redirect starts

Options +FollowSymLinks

RewriteEngine On

RewriteCond %{HTTP_HOST} !^www \.(.*)$ [NC]

RewriteRule ^(.*)$ http://www.% {HTTP_HOST}/$1 [R=301,L]

# Redirect ends

Редирект со старого домена на новый

Самая очевидная причина настройки этого редиректа — переадресовать роботов и пользователей на другой адрес при переезде сайта на новый домен.

 RewriteEngine On

RewriteRule ^(.*)$ https://www.mysite2.ru/$1 [R=301,L]

Или

RewriteEngine On

RewriteCond %{HTTP_HOST} ^www\.mysite1\.ru$ [NC]

RewriteRule ^(.*)$ https://www.mysite2.ru/$1 [R=301,L]

Где «mysite1» и «mysite2» — имя ваших сайтов на старый и новый домен соответственно.

Как добавить .html в конце URL?

Чтобы при вводе mysite.ru/page или mysite.ru/page/ происходило перенаправление на mysite.ru/page.html пишем в .htaccess следующее:

RewriteCond %{REQEST_URI} (./*[^/.]+)($|\?)

RewriteRule .* %1.html [R=301,L]

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

Как убрать .html в конце URL?

Обратный редирект с mysite.ru/page.html на mysite.ru/page

RewriteBase /

RewriteRule (.*)\.html$ $1 [R=301,L]

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

Каждая страница сайта должна быть доступна только по одному адресу. Для этого должны быть настроены:

  • редирект на страницы со слешем в конце URL или наоборот;
  • главное зеркало — основной адрес сайта в поиске.

Сделать это можно при помощи модуля mod_rewrite. В его составе используются специальные команды — директивы сложного перенаправления. Первой командой всегда идет включение преобразования URL:

RewriteEngine On

Убрать слэш

Настроить ли переадресацию на страницы со слешем или без, в каждом случае нужно решать индивидуально. Если у сайта уже накоплена история в поиске, анализируйте, каких страниц в индексе больше. Для новых сайтов обычно настраивают редирект на слеш. Проверить, не настроена ли переадресация по умолчанию, просто: удалите/добавьте слеш в конце URL. Если страница перезагрузится с новым адресом — мы имеем дубли, требуется настройка. Если URL подменяется — все в порядке. Проверять лучше несколько уровней вложенности.

Современные CMS, например, WordPress настраивают слеш в конце строки по умолчанию.

Как убрать слэш в конце URL?

Например было mysite.com/page/, стало mysite.com/page

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.+)/$ /$1 [R=301,L]

301 Редирект с одного раздела на другой

Перенаправление всех страниц одного раздела mysite.com/razdel-1/razdel-2/page на на страницы другого раздела mysite.com/razdel-1/page

RewriteEngine On

RewriteRule ^blog/raznoe/(.*)$ https://mysite.ru/blog/$1 [R=реrmanent,L]

Изменение страниц ошибок через .htaccess

Когда пользователь хочет увидеть сайт (отправляет запрос на сервер хостера), то сервер возвращает ему ответ с кодом. Коды 1-399 свидетельствуют о нормальной работе сервера, а коды 400-599 сообщают об ошибке сервера.

Например, если сервер с вашим сайтом перегружен, или у него происходит перезагрузка, то пользователь увидит текст ошибки (например, 500 Internal Server Error), подумает, что сайт больше не будет работать и больше никогда на него не вернется. Наиболее распространенным решением является составление собственной страницы вместо стандартной 404-ошибки. Эта ошибка показывается пользователю, если введен адрес несуществующей страницы.

Далее подробно о том как создать кастомную страницу 404 смотрите здесь

Если Вы хотите вручную подставить созданную страницу 404 тогда в .htaccess необходимо добавить следующую строку:

ErrorDocument 404 https://mysite/404.html

Настройки безопасности сайта через .htaccess

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

Защита сайта от скриптовых инъекций

Смысл этой защиты в том, что становится невозможно добавить посторонние ссылки на сайт.

# Включает отслеживание сим-ссылок

Options +FollowSymLinks

# Запускает url rewriting

RewriteEnging On

# Блокирует все ссылки, содержащие <script>

RewtiteCond %{QUERY_STRONG} (\<|%3C).*script.*(\>|%3E) [NC,OR]

# Блокирует все скрипты, которые пытаются изменить переменные PHP Globals:

RewtiteCond %{QUERY_STRONG} GLOBALS(=|\[\%[0-9A-Z]{0,2}) [OR]

# Блокирует все ссылки, которые пытаются изменить переменную _REQUEST:

RewtiteCond %{QUERY_STRONG} _REQUEST(=|\[|\%[0-9A-Z]{0,2})

# Перенаправляет все подобные попытки на страницу с ошибкой 403 – запрещено

RewtiteRule ^(.*)$ index.php [F,L]

100% гарантий защиты не является. Это одна из составляющих полноценной защиты.

Защита сайта от кражи картинок.

Если узнать путь к картинке у вас на сайте, а это довольно легко сделать и вставить его в код своей страницы, то основная страница будет загружаться с его сервера, а картинка – с вашего. Это позволяет ему экономить свой трафик и использовать ваш.

Options +FollowSymlinks

#Запрещает кражу картинок

RewriteEngine On

RewriteCond %{HTTP_REFERER} !^$

RewriteCond %{HTTP_REFERER} !^http://(www.)?mysite.ru/ [nc]

RewriteRule .*.(gif|jpg|png)$ https:// mysite.ru/images/stop_stealing.gif[nc]

mysite.ru – адрес вашего сайта. https:// mysite.ru/images/stop_stealing.gif — путь к картинке, которую вы сами должны создать. На ней обычно пишут «не крадите картинки с чужих сайтов» или что-то подобное.

Как заблокировать доступ к сайту для пользователя по IP?

Применяется против спамеров и прочих нежелательный посетителей, изредка для предотвращения хакерских атак.

#Вносим сюда нежелательные IP адреса

Allow from all

Deny from 164.186.15.125

Deny from 124.153.34.176

Во многих CMS существуют плагины “антиспам”, которые предотвращают подобные действия.

 

Как заблокировать доступ к сайту для всех IP кроме проверенных?

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

#Запрещает доступ для всех, кроме указанных IP-адресов

ErrorDocument 403 https://mysite.ru

Order deny, allow

Deny from all

Deny from 164.186.15.125

Deny from 124.153.34.176

Запрет просмотра содержимого конкретной папки.

#Запрещает просмотр содержимого папки

Options All –Indexes

Запрет доступа к конкретному файлу

#Защищает файл myfile.txt

<files myfile.txt>

order allow,deny

deny from all

</files>

Запрет доступа ко всем файлам с конкретным расширением

Например, чтобы запретить доступ ко всем файлам .txt пишем так:

<Files «\.(txt)$»>

Order Deny,Allow

Deny from all

Блокировка нежелательных User Agent-ов

Часто у пользователя в браузере установлено очень много расширений, которые передают серверу (на котором расположен ваш сайт) информацию о себе. Ту же информацию посылают на сервер клиентские приложения, установленные на компьютере пользователя, а также различные роботы и пауки. Различного рода пауки могут создавать излишнюю нагрузку на ваш сервер, что негативно сказывается не только на работе сервера, но и на SEO. Роботы не всегда могут отличить активность человека, от активности паука, и из-за излишней активности со стороны, могут блокировать ваш сайт в выдаче.

 

#Блокирует нижеперечисленных User Agent-ов

SetEnvIfNoCase user-Agent ^FrontPage [NC,OR]

SetEnvIfNoCase user-Agent ^Java.* [NC,OR]

SetEnvIfNoCase user-Agent ^Microsoft.URL [NC,OR]

<limit get=»» post=»» head=»»>

Order Allow,Deny

Allow from all

Deny from env=bad_bot

</limit>

Изменение кодировки сайта через .htaccess

Бывает так, что один пользователь заходит к вам на сайт и видит его нормальным, а другой видит неизвестные символы вместо букв. Это происходит из-за кодировки сайта. Чтобы браузер пользователя правильно ее распознал, сайт делается в одной из популярных кодировок:

  • UTF-8 — универсальная двухбайтовая кодировка
  • Windows-1251 — Кириллица (Windows)
  • KOI8-r — Кириллица (КОИ8-Р)
  • cp866 — Кириллица (DOS)
  • Windows-1250 — Центральная Европа (Windows)
  • Windows-1252 — Западная Европа (Windows)

Также кодировку нужно указывать в мета-теге каждой страницы сайта, это сообщает браузеру в какой кодировке сделан сайт.

<meta http-eqiv=”content-tipe=”text/html; charset=Windows-1251”>

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

AddDefaultCharset WINDOWS-1251

Если работают оба варианта (и мета-тег, и файл .htaccess), то очень важно, чтобы кодировка в них совпадала.

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

CharsetSourceEnc WINDOWS-1251

Чтобы выключить перекодировку сервера нужно вписать:

CharsetDisable on

Оптимизация работы сайта через .htaccess

Ускорение работы сайта через Gzip

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

<IfModule mod_deflate.c>

AddOutputFilterByType DEFLATE text/html text/plain text/xml application/xml application/xhtml+xml text/javascript text/css application/x-javascript

BrowserMatch ^Mozilla/4 gzip-only-text/html

BrowserMatch ^Mozilla/4.0[678] no-gzip

BrowserMatch bMSIE !no-gzip !gzip-only-text/html

<ifmodule mod_gzip.c>

mod_gzip_on Yes

mod_gzip_item_include file \.js$

mod_gzip_item_include file \.css$ </ifmodule>

</IfModule>

Или

FileETag MTime Size

<ifmodule mod_expires.c>

<filesmatch «.(jpg|jpeg|gif|png|ico|css|js)$»>

ExpiresActive on

ExpiresDefault «access plus 1 month»

</filesmatch>

</ifmodule>

Или

<ifModule mod_gzip.c>

mod_gzip_on Yes

mod_gzip_dechunk Yes

mod_gzip_item_include file \.(html?|txt|css|js|php|pl)$

mod_gzip_item_include handler ^cgi-script$

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>

В случае использования WordPress все эти директивы в .htaccess   дописывают специальные плагины, например: WP Fastest Cache.

Как улучшить кэширование сайта на сервере?

Улучшенное кэширование позволяет не загружать второй раз данные (картинки, основные элементы дизайна и т.д.), которые уже были загружены пользователем в момент первого просмотра сайта. Таким образом для конкретно взятого пользователя, вторая и последующие просмотренные страницы загрузятся гораздо быстрее, а нагрузка на ваш сервер существенно снизится. Улучшить кэширование сайта можно с помощью следующего кода (пробуйте по очереди два варианта и оставляйте наиболее быстрый, скорость проверяем здесь):

<IfModule mod_expires.c>

ExpiresActive On

ExpiresByType application/javascript «access plus 7 days»

ExpiresByType text/javascript «access plus 7 days»

ExpiresByType text/css «access plus 7 days»

ExpiresByType image/gif «access plus 7 days»

ExpiresByType image/jpeg «access plus 7 days»

ExpiresByType image/png «access plus 7 days»

</IfModule>

Или

FileETag MTime Size

<ifmodule mod_expires.c>

<filesmatch «.(jpg|gif|png|css|js)$»>

ExpiresActive on

ExpiresDefault «access plus 1 month»

</filesmatch>

</ifmodule>

В выражении «access plus …» устанавливается срок хранения файлов на компьютере пользователя. По истечении этого срока при запросе к сайту файлы будут единоразово загружены с сервера. Оптимальным будет от 7 дней до месяца, хотя можно устанавливается и год.

Изменение главной (индексной) страницы сайта

Как правило, при переходе на сайт сначала загружается страница index.html или index.php. Чтобы изменить это правило (в начале станет загружаться mypage.php), добавляем в .htaccess такой код:

DirectoryIndex about.html

Изменение главной (индексной) страницы сайта

ВАЖНО!

Использование любой директивы для настройки РНР напрямую зависит от версии РНР, которая установлена на сервере и от ограничений самого хостера. Потому если какая-то директива не отработала или ее использование привело к ошибке на сайте (и вы уверены, что задали ее верно) - обратитесь в техподдержку хостера и уточните о причинах и способах устранения возникшей ошибки.

Обычно за настройки PHP отвечает файл php.ini, но часть этих настроек можно задать через .htaccess. Для этого используются два выражения: php_value — для логических значений (например включить\выключить) и php_flag для числовых значений. Вот правила написания этих выражений:

php flag директива1 ЗНАЧЕНИЕ1

php flag директива2 ЗНАЧЕНИЕ2

где ЗНАЧЕНИЕ1 может быть on, off, 1 или 0 (1 и on — означает включить, а 0 и off — выключить);

ЗНАЧЕНИЕ2 — любое числовое или буквенное значение, которое подходит под конкретную директиву;

директива1 (используется только с php_flag) может иметь значения:

magic quote gpc

— вкл\выкл функцию magic_quotes_gpc

php_flag magic_quotes_gpc on

ВАЖНО!

Эта директива считается устаревшей и в более новых версиях PHP (начиная от 5.4.0) была отключена.

display_startup_errors

— вкл\выкл показ ошибок, которые происходят при работе PHP

php_flag display_startup_errors 1

display_errors

— вкл\выкл показ ошибки в браузер

php_flag display_errors 1

output_buffering

— вкл\выкл буферизацию вывода данных

>php_flag output_buffering on

register_globals

— вкл\выкл глобальные переменные

php_flag register_globals on

engine

— вкл\выкл исполнение PHP в папке в которой находится .htaccess и во всех вложенных

php_flag engine off

директива2 (используется только с php_value) может иметь такие значения:

upload_max_filesize

— устанавливает максимальный размер загружаемого файла

php_value upload_max_filesize 10M

user_agent

— задает значение строки user_agent, которую передает сервер

php_value user_agent “Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)”

post_max_size

— задает максимальный размер пересылаемой почты

php_value post_max_size 10M

mysql.default_user

— задает имя пользователя базы данных

php_value mysql.default_user databaseuser

mysql.default_password

— задает пароль для пользователя БД

php_value mysql.default_password jk323jh4g

mysql.default_host

— задает имя хоста БД (обычно это localhost)

php_value mysql.default_host localhost

sendmail_from

— задает e-mail для отправки почты с помощью PHP

php_value sendmail_from

auto_prepend_file

— задает файл, который будет добавлен в начало каждого PHP-скрипта

php_value auto_prepend_file /www/publiс_html/myfile.php

auto_append_file

— задает файл, который будет добавлен в конец каждого PHP-скрипта

php_value auto_append_file /www/publiс_html/myfile.php

Обратите внимание на то, что не все хостеры разрешают менять настройки PHP через .htaccess. Мы рекомендуем уточнить у техподдержки этот момент.

На что обратить внимание при работе с файлом .htaccess?

ВАЖНО!

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

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

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

Рекомендуем также обратить внимание на следующие директивы:

Ohtions +FollowSymLinks может быть заменена на Options +SymLinkOwenerMatch

Ohtions All-Indexes может быть заменена на Options-Indexes

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

Закомментировать директиву можно поставив # в начале строки.

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

Заключение

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

Поделитесь этой статьёй у себя на странице в социальной сети