Как отключить WordPress от перезаписи файла .htaccess

Опубликовано: 2023-02-23


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

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

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

How to Stop WordPress From Overwriting .htaccess File

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

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

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

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

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

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

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

Как запретить WordPress перезаписывать ваши рекомендации .htaccess

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

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

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

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

Как вы можете видеть на скриншоте ниже, WordPress сохранит эти данные среди двух маркеров: # Start off WordPress и # Finish WordPress .

WordPress Markers in .htaccess

Откройте для себя предупреждение в этих маркерах людей:

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

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

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

Когда плагин сохраняет свои параметры в .htaccess, он также отмечает их между маркерами, которые выглядят как # Start out Plugin и # Conclusion Plugin .

Например, если вы установили и настроили плагин W3 Total Cache для повышения скорости и эффективности вашего интернет-сайта, то он будет включать правила для .htaccess между маркерами # Get started W3TC Browser Cache и # Conclude W3TC Browser Cache .

Example of Plugin Markers in .htaccess

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

Генерация маркеров для вашего индивидуального кода

В нестандартных ситуациях плагин с ужасным поведением может модифицировать код за пределами своих маркеров # Begin и # Conclude . С другой стороны, он обычно не изменяет код, расположенный между маркерами, используемыми WordPress или другими плагинами.

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

Например, вы можете расположить маркеры # Start off MyCustomCode и # End MyCustomCode в главном файле .htaccess, а затем добавить между этими маркерами свои персональные принципы.

You Can Create Your Own Markers in .htaccess for Your Custom Rules

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

Как запретить WordPress изменять .htaccess

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

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

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

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

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

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

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

Selecting File Permissions From the Menu in Your FTP Client

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

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

Changing the .htaccess File Permissions to 444 or Read-Only

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

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

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

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

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

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

incorporate_filter('got_rewrite', '__return_false')

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

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

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

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

Permalink Settings Error Message When .htaccess Cannot Be Accessed

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

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

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

List of Rules You Will Need to Add to .htaccess Manually if Needed

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

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

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

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