Недавно один из наших читателей спросил, можно ли запретить WordPress перезаписывать пользовательский код в файле .htaccess?

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

В этой статье мы покажем вам, как запретить WordPress перезаписывать файл .htaccess.

Как запретить WordPress перезаписывать файл .htaccess 1

Почему WordPress перезаписывает файл .htaccess?

Ваш файл .htaccess — это мощный файл конфигурации, в котором хранятся важные настройки вашего веб-сайта WordPress. Он содержит правила, которые сообщают вашему хостинг-серверу, как обращаться с вашим сайтом.

WordPress использует файл .htaccess для хранения настроек постоянной ссылки. Всякий раз, когда вы изменяете или повторно создаете свои постоянные ссылки, WordPress автоматически перезаписывает старые настройки в .htaccess новыми настройками.

Некоторые плагины WordPress также сохраняют свои настройки в .htaccess. Например, плагин W3 Total Cache изменит ваш файл .htaccess, чтобы настроить инструменты кэширования и оптимизации, которые являются частью плагина.

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

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

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

Как остановить WordPress от перезаписи ваших правил .htaccess

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

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

Не изменяйте код внутри маркеров WordPress

Как мы уже говорили ранее, WordPress использует .htaccess для хранения настроек для SEO-дружественной структуры URL. Код, который он сохраняет в файле, будет автоматически перезаписываться и обновляться всякий раз, когда вы меняете настройки постоянной ссылки.

ЧИТАТЬ  Прошло 20 лет с тех пор, как марсоход сделал этот исторический снимок | Цифровые тенденции

Как вы можете видеть на скриншоте ниже, WordPress сохраняет эту информацию между двумя маркерами. # BEGIN WordPress и # END WordPress.

Маркеры WordPress в .htaccess
Как запретить WordPress перезаписывать файл .htaccess 2

Обратите внимание на предупреждение внутри этих маркеров:

Директивы (строки) между «BEGIN WordPress» и «END WordPress» генерируются динамически и должны изменяться только с помощью фильтров WordPress. Любые изменения в директивах между этими маркерами будут перезаписаны.

Это означает, что WordPress не будет перезаписывать или изменять любой код, который вы добавляете вне этих маркеров. Пользователи обычно добавляют свой пользовательский код в начало файла, над # BEGIN WordPress маркер.

Не изменяйте код внутри маркеров ваших плагинов

Когда плагин сохраняет свои настройки в .htaccess, он также помещает их между маркерами, которые выглядят как # BEGIN Plugin и # END Plugin.

Например, если вы установите и настроите плагин W3 Total Cache для повышения скорости и производительности вашего веб-сайта, он добавит правила в .htaccess между # BEGIN W3TC Browser Cache и # END W3TC Browser Cache маркеры.

Пример маркеров плагинов в .htaccess
Как запретить WordPress перезаписывать файл .htaccess 3

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

Создание маркеров для вашего пользовательского кода

В редких случаях плагин с плохим поведением может изменить код за пределами своего # BEGIN и # END маркеры. Однако обычно он не изменяет код, найденный между маркерами, используемыми WordPress или другими плагинами.

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

Например, вы можете ввести # BEGIN MyCustomCode и # END MyCustomCode маркеры в верхней части файла .htaccess, а затем добавьте свои собственные правила между этими маркерами.

Вы можете создавать свои собственные маркеры в .htaccess для ваших пользовательских правил
Как запретить WordPress перезаписывать файл .htaccess 4

Если вам также нужно добавить код в конец .htaccess, то вы можете добавить туда другой набор маркеров. Только не забудьте дать им разные имена. Например, вы можете использовать «MyCustomCodeTop» и «MyCustomCodeBottom».

ЧИТАТЬ  ChatGPT для Google Ads: как улучшить создание кампании

Как остановить WordPress от изменения .htaccess

Теперь, когда вы понимаете, как работает .htaccess, вы можете быть уверены, что ваш пользовательский код не будет перезаписан WordPress или вашими плагинами.

Однако некоторые разработчики и опытные пользователи хотят запретить WordPress вносить какие-либо изменения в .htaccess.

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

Мы не рекомендуем этого, если вы не знаете, что делаете, потому что это может привести к неожиданным последствиям. Однако это можно сделать, изменив права доступа к файлу или используя код.

Блокировка WordPress от изменения .htaccess с помощью прав доступа к файлам

Один из способов запретить WordPress изменять .htaccess — сделать файл доступным только для чтения. Для этого вам нужно изменить права доступа к файлам с помощью FTP-клиента или файлового менеджера, предоставленного вашим хостинг-провайдером WordPress.

Вы найдете файл .htaccess в корневом каталоге вашей установки WordPress. Затем вы должны щелкнуть правой кнопкой мыши файл и выбрать «Права доступа к файлу».

Выбор прав доступа к файлам в меню вашего FTP-клиента
Как запретить WordPress перезаписывать файл .htaccess 5

Появится всплывающее окно, в котором вы можете изменить атрибуты файла.

Значение по умолчанию — 644, но вы можете изменить его на 444, введя непосредственно в поле «Числовое значение» или убедившись, что отмечены только поля «Чтение».

Изменение прав доступа к файлу .htaccess на 444 или только для чтения
Как запретить WordPress перезаписывать файл .htaccess 6

Как только вы нажмете кнопку «ОК», файл будет доступен только для чтения и не может быть изменен.

Конечно, это будет означать, что вы также не сможете писать в файл. Если вы захотите внести изменения, вам нужно будет временно установить права доступа к файлу обратно на 644.

Блокировка WordPress от изменения .htaccess с помощью кода

Другое решение — использовать фрагмент кода, который сообщает WordPress, что не следует писать в файл .htaccess. Это полезно, если вы хотите, чтобы WordPress не модифицировал .htaccess, не блокируя ваши плагины.

Примечание: Редактирование любых основных файлов WordPress может быть опасным. Даже небольшая ошибка может привести к серьезным ошибкам на вашем сайте. Вот почему мы рекомендуем этот метод только для опытных пользователей.

ЧИТАТЬ  Китай рекламирует сверхбыструю интернет-сеть как отечественный прорыв

Просто добавьте следующий фрагмент кода в конец файла wp-config.php. Если вам нужна помощь, обратитесь к нашему руководству по редактированию файла wp-config.php в WordPress.

add_filter('got_rewrite', '__return_false');

Как только вы это сделаете, WordPress больше не будет писать в файл .htaccess.

Сообщение об ошибке отображается, когда WordPress не может изменить .htaccess

Если вы попытаетесь изменить настройки постоянной ссылки, когда для .htaccess установлено значение только для чтения, появится сообщение об ошибке.

В верхней части Настройки » Постоянные ссылки на странице вы увидите сообщение «Вы должны обновить файл .htaccess сейчас».

Сообщение об ошибке настроек постоянной ссылки при невозможности доступа к .htaccess
Как запретить WordPress перезаписывать файл .htaccess 7

Это означает, что WordPress не смог изменить файл .htaccess.

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

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

Список правил, которые вам нужно будет добавить в .htaccess вручную, если это необходимо
Как запретить WordPress перезаписывать файл .htaccess 8

Если вы хотите добавить эти настройки, вам нужно будет временно изменить права доступа к файлу .htaccess обратно на 644, чтобы его можно было редактировать. После этого вы должны вставить правила между маркерами WordPress BEGIN и END файла, заменив уже существующий код.

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

Мы надеемся, что это руководство помогло вам узнать, как запретить WordPress перезаписывать файл .htaccess. Вы также можете узнать, как добавить push-уведомление в WordPress, и ознакомиться с нашим экспертным списком лучших плагинов и инструментов WordPress SEO.

Если вам понравилась эта статья, то, пожалуйста, подпишитесь на нашу YouTube канал для видеоуроков WordPress. Вы также можете найти нас на Твиттер и Фейсбук.





Source link