Основной файл .htaccess расположен в корневой директории сайта на веб-сервере. Найти его будет не трудно, иногда файл по умолчанию назван как текстовый и имеет вид htaccess.txt - в таком случае его нужно просто переименовать в .htaccess, оставив его без расширения.
По умолчанию для системы WordPress внутреннее содержимое файла .htaccess имеет следующий вид:
# BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress
Этот код является обязательным и его мы трогать не будем. Все дополнительные настройки нужно будет прописывать после этого блока.
Рассмотри наиболее интересные и необходимые функции, которые представляют интерес при работе с сайтом.
Настройка редиректа 301
с www на без www в адресе сайта.
Options +FollowSymLinks RewriteEngine On RewriteCond %{HTTP_HOST} ^www.name\.ru$ [NC] RewriteRule ^(.*)$ http://name.ru/$1 [R=301,L]
и наоборот
Options +FollowSymLinks RewriteEngine On RewriteCond %{HTTP_HOST} ^name\.ru$ [NC] RewriteRule ^(.*)$ http://www.name.ru/$1 [R=301,L]
вместо name нужно подставить конкретное имя домена, зону тоже нужно указывать свою, в данном примере это зона .ru
Кодировка сайта
AddDefaultCharset UTF-8
Защита файла .htaccess
<Files .htaccess> order allow,deny deny from all </Files>
Защита файла wp-config.php
<Files wp-config.php> order allow,deny deny from all </Files>
Запрет доступа по IP адресам
<Limit GET POST> order allow,deny deny from 192.168.0.1 deny from 192.168.0.2 allow from all </Limit>
ip-адреса, разумеется, нужно указывать конкретные :)
Защита от спама
Если вы используете комментарии на сайте, то можно установить дополнительную защиту, чтобы помешать спам-ботам обращаться напрямую к файлу wp-comments-post.php.
<IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{REQUEST_METHOD} POST RewriteCond %{REQUEST_URI} .wp-comments-post\.php* RewriteCond %{HTTP_REFERER} !.*name.ru.* [OR] RewriteCond %{HTTP_USER_AGENT} ^$ RewriteRule (.*) http://%{REMOTE_ADDR}/$ [R=301,L] </IfModule>
name.ru - это имя вашего домена
Перенаправление страниц ошибок
Можно подготовить свои заранее подготовленные и оформленные в нужном стиле страницы ошибок и сделать перенаправление на них в случае возникновения таких ошибок
ErrorDocument 401 /401.html ErrorDocument 403 /403.html ErrorDocument 404 /404.html ErrorDocument 500 /500.html
Дополнительные файлы .htaccess
Файл .htaccess может располагаться и во вложенных папках! В таком случае, прописанные директивы будут относится к файлам внутри этих папок. По такой схеме можно запретить доступ к конкретным файлам. Например, можно создать пустой файл .htaccess внутри папок wp-content и wp-includes. Теперь можно запретить доступ к файлам по их расширениям:
Order deny,allow Deny from all <Files ~ ".(xml|css|jpe?g|png|gif|js)$"> Allow from all </Files>
Можно запретить доступ к файлам скриптов и стилей:
<Files ~ "\.(js|css)$"> order allow,deny allow from all </Files>
Используйте необходимые настройки и защищайте свои сайты, удачи!