Файл .htaccess управляет конфигурацией сервера и запросами к сайту WordPress.
Он управляет различными функциями на стороне сервера, включая перенаправление URL, подписи сервера, кэширование файлов, защиту паролем и настройку страниц ошибок.
Знание того, как работает файл .htaccess, помогает контролировать поведение сайта и оптимизировать производительность.
В этом руководстве вы узнаете, как найти, отредактировать и создать стандартный файл .htaccess в WordPress.
- Что такое файл .htaccess?
- Для чего используется файл .htaccess?
- Как найти файл WordPress .htaccess
- Поиск файла WordPress .htaccess через FTP-клиент
- Как создать файл WordPress .htaccess по умолчанию
- WordPress .htaccess: Основные конфигурации
- Перенаправления/редирект
- Принудительное использование www или без www
- Принудительное использование HTTP или HTTPS
- Советы по безопасности WordPress .htaccess
- Ограничение доступа
- Отключить листинг каталогов
- Предотвращение «горячих ссылок» на изображения
- Ограничение загрузки
- Заключение
Что такое файл .htaccess?
Файл .htaccess (hypertext access) – это стандартный файл конфигурации, используемый в веб-серверах, в первую очередь в серверах Apache, но также и в WordPress.
Это обычный текстовый файл с различными директивами конфигурации в корневом каталоге сайта.
Редактирование и изменение файла .htaccess обычно делается для предоставления или отмены доступа к ресурсам сайта.
Ведущая точка означает, что файл скрыт (dotfile).
Настройте параметры файлового менеджера по умолчанию, чтобы сделать файл видимым и доступным для редактирования.
Для чего используется файл .htaccess?
Стандартное использование файла .htaccess в WordPress – это управление пермалинками (постоянная ссылка) для сайта.
Однако помимо управления пермалинками существуют дополнительные возможности настройки, которые улучшают поведение сайта.
Общие способы использования и преимущества приведены в таблице ниже:
Функция | Описание |
---|---|
Перенаправление и переписывание URL-адресов | Перенаправление и переписывание URL-адресов изменяет навигацию сайта и улучшает SEO. Это также позволяет создавать читаемые и описательные URL-адреса веб-сайтов. |
Предотвращение «горячих ссылок» на изображения | Защита ресурсов веб-сайта не позволяет другим пользователям размещать ссылки на изображения или другие ресурсы, размещенные на сервере. Это снижает нагрузку на сервер, использование полосы пропускания и потенциальные кражи. |
Обработка ошибок сервера | Создание пользовательских страниц ошибок и предоставление подробных сообщений улучшает внешний вид и упрощает устранение неполадок при ошибках сервера. |
Черный и белый списки IP-адресов | Разрешение или блокирование определенных IP-адресов позволяет уточнить правила доступа к веб-сайту. Выборочное блокирование или разрешение доступа к веб-сайту обеспечивает дополнительный уровень безопасности. |
Блокировка пользователей на основе ссылающихся URL | Предотвращение доступа на основе ссылающегося URL – это способ контроля доступа к сайту и трафика. Он также обеспечивает дополнительный уровень безопасности, фильтруя несанкционированные URL-адреса и предотвращая источники спама. |
Реализация защиты паролем | Использование парольной защиты на определенных страницах или каталогах ограничивает доступ для действительных пользователей. |
Используя файл .htaccess, администраторы WordPress могут изменять и защищать сайт в соответствии с определенными требованиями.
Как найти файл WordPress .htaccess
Файл .htaccess находится в корневом каталоге установки WordPress.
Чтобы найти этот файл, измените стандартные настройки файлового менеджера, чтобы сделать скрытые файлы видимыми.
В зависимости от установки, в разделах ниже показано, как изменить эти настройки для просмотра файла .htaccess через FTP-клиент.
Поиск файла WordPress .htaccess через FTP-клиент
Чтобы найти файл .htaccess с помощью FTP-клиента (например, Filezilla или WinSCP), сделайте следующее:
Подключитесь к сайту WordPress с помощью FTP-клиента.
Перейдите в корневую папку сайта (обычно www или public_html).
Настройте FTP-клиент на показ невидимых файлов, если файл .htaccess не виден сразу.
Если вы используете FileZilla, перейдите в меню Сервер > Принудительное отображение скрытых файлов.
Как создать файл WordPress .htaccess по умолчанию
В некоторых случаях WordPress не создает файл .htaccess по умолчанию или удаляет его.
Чтобы создать файл .htaccess вручную, выполните следующие действия:
- Перейдите в корневую папку установки WordPress (public_html или www).
- Нажмите кнопку + Файл в левом верхнем углу, чтобы создать новый файл.
- Назовите файл .htaccess и нажмите кнопку Создать новый файл.
- Откройте файл для редактирования. Если вы используете cPanel, выберите файл. Нажмите Редактировать в верхней панели или щелкните файл правой кнопкой мыши, затем Редактировать.
- Добавьте в файл следующее:
# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress
Приведенный код – это стандартный .htaccess, который WordPress генерирует автоматически. Он обрабатывает структуры пермалинков и переписывание URL.
WordPress .htaccess: Основные конфигурации
При настройке сайта WordPress с помощью файла .htaccess доступны различные параметры конфигурации.
Ниже приведены некоторые стандартные конфигурации, которые администраторы WordPress используют для управления поведением сайта и повышения безопасности.
Перенаправления/редирект
Перенаправления управляют потоком трафика на сайте. Они обеспечивают попадание пользователей на нужные страницы и URL-адреса.
К распространенным ситуациям перенаправления относятся следующие:
301. При изменении пермалинка сайта используйте 301-ый редирект для перенаправления трафика на новую страницу.
Пользователи с закладками или гиперссылками переходят на новую страницу.
Используйте следующий формат в файле .htaccess для всех страниц, требующих перенаправления:
Redirect 301 /[old_permalink].html [website_URL]/[current_permalink].html
302. Чтобы временно перенаправить трафик на другую страницу, используйте перенаправление 302.
Кратковременные изменения подходят для целей тестирования.
Используйте следующий синтаксис:
Redirect 302 /[old_permalink].html [website_URL]/[current_permalink].html
Подкаталог. Используйте перенаправление, чтобы перевести трафик из одного подкаталога сайта в другой.
Этот тип перенаправления полезен при объединении или реструктуризации содержимого сайта.
Формат следующий:
Redirect /[subdirectory] [website_URL]/[new_subdirectory]
Другой домен.
В некоторых случаях требуется перенаправить трафик на другой домен или совершенно другой сайт.
Перенаправление возникает при партнерском маркетинге, изменении доменного имени, ребрендинге или переносе домена.
Синтаксис следующий:
Redirect / [new_website_URL]
Принудительное использование www или без www
Принудительное добавление или удаление префикса www для сайта WordPress является стандартной задачей для файла .htaccess.
Основными преимуществами являются SEO и согласованность брендинга.
Принудительное использование www или non-www также позволяет избежать потенциальных проблем с дублированием из-за различий в URL.
Добавьте в файл следующие директивы для принудительного использования www на сайте:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^ https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
В качестве альтернативы используйте следующий пример, чтобы заставить веб-сайт не быть www:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^ https://%1%{REQUEST_URI} [L,R=301]
В обоих примерах конфигурация .htaccess перенаправляет входящие запросы, включая или исключая префикс www.
Принудительное использование HTTP или HTTPS
Файл .htaccess позволяет принудительно установить HTTP или HTTPS на сайте WordPress.
Принудительное использование HTTPS повышает безопасность сайта, что создает имидж надежного и заслуживающего доверия.
С другой стороны, принудительное использование HTTP является обычной практикой в интрасетях, закрытых сетях и в целях тестирования.
Чтобы принудительно включить HTTPS, добавьте следующие директивы в файл .htaccess:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
В качестве альтернативы, чтобы заставить HTTP на сайте WordPress, используйте следующий пример:
RewriteEngine On
RewriteCond %{HTTPS} on
RewriteRule ^ http://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
В обоих случаях условие перезаписи проверяет, включен ли HTTPS, и соответствующим образом переписывает URL, основываясь на результатах этой проверки.
Советы по безопасности WordPress .htaccess
В файле .htaccess содержатся различные директивы, связанные с безопасностью.
Добавление этих директив повышает безопасность сайта и помогает снизить потенциальные атаки на сайт WordPress.
Ниже приведены важные советы и меры безопасности, относящиеся именно к файлу .htaccess.
Ограничение доступа
WordPress содержит различные файлы с конфиденциальной информацией, которая не должна находиться в открытом доступе.
Чтобы предотвратить несанкционированный доступ к таким файлам, как .htaccess, .htpasswd и wp-config.php, см. следующий пример:
<FilesMatch "^.*(\.htaccess|\.htpasswd|wp-config\.php)$">
Order allow,deny
Deny from all
</FilesMatch>
Код сопоставляет имена файлов и запрещает доступ всем клиентам.
Измените regex, чтобы добавить другие конфиденциальные файлы и ограничить доступ к дополнительным данным.
Отключить листинг каталогов
Отключите списки каталогов, чтобы заблокировать неавторизованным пользователям доступ к содержимому и каталогам сервера.
Следующая директива отключает доступ к спискам каталогов:
Options -Indexes
Директива запрещает просмотр содержимого каталогов, не содержащих индексного файла (например, index.php).
Предотвращение «горячих ссылок» на изображения
Предотвращение «хотлинкс» на изображениях защищает пропускную способность и использование ресурсов сайта WordPress.
Используйте следующий пример правила для защиты изображений, размещенных на сервере:
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?yourdomain.com [NC]
RewriteRule \.(gif|jpg|jpeg|png)$ - [NC,F,L]
Условие проверяет запрос на наличие файла изображения и предотвращает доступ, если он не соответствует домену примера.
Если запрос не удовлетворяет условию, страница возвращает ошибку 403, предотвращая горячую ссылку.
Ограничение загрузки
Ограничение загрузки файлов определенного типа помогает предотвратить загрузку пользователями подозрительных файлов и скриптов.
Чтобы ограничить загрузку файлов, воспользуйтесь следующим примером:
<FilesMatch "\.(exe|php|sh)$">
Order allow,deny
Deny from all
</FilesMatch>
Директива блокирует загрузку файлов, которые заканчиваются на .exe, .php или .sh, что характерно для файлов скриптов.
Заключение
Прочитав это руководство, вы сможете найти, отредактировать и создать стандартный файл WordPress .htaccess.
Знание того, как редактировать этот файл, поможет решить многие распространенные ошибки WordPress, включая ошибку Uploaded file exceeds the upload_max_filesize directive in php.ini и внутреннюю ошибку сервера 500.
см. также: