Htaccess в WordPress: правильная настройка без проблем

При первичной настройке блога важно разумно сделать все технические составляющие. В первую очередь исправить файл htaccess под WordPress, потому что он регулирует серверные настройки Apache. Статья написана как не нужно делать, а рекомендаций по внедрению кода минимум. Прочитайте внимательно и не делайте грубых ошибок.
Где лежит htaccess
Htaccess обязательно должен находится в корневой папке сайта, вместе с каталогами типа wp-admin. У меня лежит как показано на снимке, иначе работать не будет, сервер его не найдет.

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

- В меню выбираем Файл > Сохранить как
- Появляется окно, в нем вписываем название и папку для сохранения
- Нажимаем на Сохранить
После можно загрузить чистый документ на сервер или редактировать локально на компьютере, а потом перенести.
Что нужно добавить в htaccess обязательно
Перед правкой нужно скачать htaccess на компьютер, чтобы была резервная копия.
На данной стадии посмотрим, что изначально должно быть прописано и добавим обязательные директивы, без которых нельзя начинать работу с сайтом на WordPress.
Стандартный htaccess
Если htaccess не было изначально, то нужно добавить стандартный код, который WordPress прописывает при установке.
# 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 редирект на https
Если к ресурсу прикреплен SSL сертификат, то необходимо занести после #BEGIN WordPress
конфигурацию 301 редиректа.
RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
Как должен выглядеть правильный htaccess
В итоге правильный код htaccess должен выглядеть так:
# BEGIN WordPress
RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
<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
Он проверен на множестве сайтов и работает безотказно. Никаких дублей, дыр в безопасности и остальных ошибок не наблюдали.
Этого достаточно для работы веб ресурса на вордпресс, единственный правильный htaccess. В других статьях интернета прописаны множество бесполезных директив, например для безопасности, кеширования и закрытия индексации. Они были написаны давно, и устарели не пользуйтесь их советами.
Разработчики WP сделали необходимые настройки в ядре и теперь не нужно вписывать в серверный документ непонятные строчки. В большинстве случаев блог перестанет отвечать, потому что в htaccess занесено много правил и они могут конфликтовать.
Что еще можно подключить в htaccess
Хостинги разные, поэтому не все предоставляют услуги внутренней оптимизации сервера, тогда приходится вручную прописывать правила в htaccess. Спросите заранее в поддержке хостера, включены ли такие услуги как:
- Кэш браузера
- Gzip сжатие
- Защита wp-config, нет ли доступа его просмотреть
Кэш браузера
Для начала проверим активен ли кэш браузера на сайте, переходим на сервис webpagetest, вводим в поле url главной страницы и находим start scan.

Ждем процесса проверки и смотрим на результаты. Ищем строчку Leverage browser caching и определяем кэшируются ли документы. В моем случае да, исключение – метрика, аналитика и vk, на них повлиять нельзя.

При условии если цифра равна нулю или маленькая, то напишите в поддержку хостинга с просьбой включить кэш браузера. При отказе вставляем такую запись в htaccess и проверяем заново.
<ifModule mod_headers.c>
<FilesMatch "\.(html|htm)$">Header set Cache-Control "max-age=43100</FilesMatch>
<FilesMatch "\.(js|css|txt)$">Header set Cache-Control "max-age=604700</FilesMatch>
<FilesMatch "\.(flv|swf|ico|gif|jpg|jpeg|png)$">Header set Cache-Control "max-age=2591000"</FilesMatch>
<FilesMatch "\.(pl|php|cgi|spl|scgi|fcgi)$">Header unset Cache-Control</FilesMatch>
</IfModule>
Gzip сжатие
Gzip сжатие потеряло актуальность при появлении AMP и Турбо страниц, но пользоваться ими нужно. Проверяем тем же сервисом webpagetest, только ищем строчку “Use gzip compression for transferring compressable responses”.

Сжатие настроено и работает, если по другому то пишем в помощь хостеру, с просьбой включить Gzip. При отказе добавляем такие строки в htaccess и проверяем сервисом.
<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 mime ^application/x-javascript.*
mod_gzip_item_include mime ^text/.*
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
mod_gzip_item_exclude mime ^image/.*
mod_gzip_item_include handler ^cgi-script$
</ifModule>
Такими встроенными возможностями обладают большинство провайдеров, например:
- Beget
- Timeweb
- Masterhost
Для безопасности и защиты wp-config
В 99,9% проблемы нет, но перестраховаться стоит. Заходим на сайт и приписываем к адресу /wp-admin.php
, смотрим что выдает браузер.

Должна открыться пустая страница или произойти 301 переадресация на главную. Если покажется код документа, то нужно срочно его закрывать, просим помощи в поддержке, или прописываем вот такой текст.
<Files wp-config.php>
order allow,deny
deny from all
</Files>
Посетители спрашивают, а нужно ли добавлять правила для плагинов WooCommerce, BBPress, Elementor и им подобным. Отвечу – нет, все встроено в сами плагинах. Будет полезно прочитать как создавать robots txt. В заключении дам видео инструкцию, чтобы сделать процесс более понятным.
Вывод настройки
Настройка htaccess в WordPress не сложная, потому что разработчики и хостер сделали все условия, чтобы снизить количество ошибок. В статье показал правильный вариант, в котором только стандартные директивы и перенаправление на https, остальные функции должны быть встроены и работать изначально. В любом случае сначала пишем в поддержку, и только потом делаем сами.
Пожалуйста, оцените материал:
Здравствуйте! Подскажите пожалуйста, если основной домен без www, требуется ли прописывать перенаправление 301 редирект?
Здравствуйте. Да нужно если вы хотите сделать основным зеркалом домен без www.
Статья написана максимально упрощенным языком!
Спасибо за ваш труд!
Здравствуйте! Пользуюсь такими директивами:
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{QUERY_STRING} (\|%3E) [NC,OR]
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
RewriteRule ^(.*)$ index.php [F,L]
Order Allow,Deny
Deny from all
order allow,deny
deny from all
satisfy all
Стоит ли их удалить?
И как вы считаете стоит ли использовать .htpasswd для доп. защиты сайта?
Здравствуйте. Если они не дают ошибок, и сайт нормально индексируется то оставляйте. htpasswd да хороший способ защиты, так придется два раза подбирать логин и пароль.
Здравствуйте.
А если WordPress установлен не в корне сайта, а в папке?
То в каких строчках её прописывать?
Спасибо.
Здравствуйте. Вопрос не совсем понятен, в той папке где установлен WordPress это и есть корень сайта.
Корень домена site.ru
При установке WordPress указывается директория, например, wp
В файловой структуре на хостинге и это выглядит примерно так: site.ru/wp
1. Соответственно, при открытии в браузере site.ru (если не настроены редиректы – все чистое по умолчанию), то будет
“Forbidden
You don’t have permission to access this resource.
Additionally, a 403 Forbidden error was encountered while trying to use an ErrorDocument to handle the request””
2. если открывать в браузере урл site.ru/wp, то поднятый сайт на вордпрессе откроется прекрасно.
Уверен, Евгений, выше написал именно эту ситуацию. По умолчанию при установке так и происходит. Надо править htaccess.
Да тоже верное замечание.
Здрасти Валентин!
Уже сомнения терзают что вы ответите. Но всё же задам вопрос.
Есть ли такое правило, что бы первой к показу была страница index.html/ Очень надо. Весь рунет перерыла, не могу найти.
Может вооще такое невозможно?
Благодарю за помощь!
Привет. А почему терзают сомнения? Вы хотите вывести старицу не из движка WordPress?
Спасибор вам огромное за помощь!
Класс! Спасибо за информацию!
У меня (в отличии от оригинального файла Htaccess) есть еще 2 такие сточки:
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NE]
Подскажите, они нужны? Или это лишнее что-то. Возможно, меня взломали? Спасибо.
Всё хорошо, это редирект на HTTPS.
Доброго времени подскажите что нужно прописать чтоб сайт работал без www если можно напишите код
Спасибо, сууууупер!!!
а как вам такое:
Установка языковой переменной на основе клиента
Чтобы определить язык браузера и перенаправить пользователя к соответствующей версии сайта, добавьте приведенное ниже правило в файл .htaccess.
RewriteCond %{HTTP:Accept-Language} ^.*(ro|fr|it|ru|en).*$ [NC]
RewriteRule ^(.*)$ – [env=prefer-language:%1]
МОЖНО ВСТАВИТЬ ЭТОТ КОД? мне очень понравилась эта функция (хоть у меня всего два языка, я удалю лишние), и куда лучше его вставить здесь:
# BEGIN WordPress
RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress
И еще, хотела с вами поделиться какой бред у меня был прописан в htacess до вашей чудесной статьи.
Выскажите свое профессиональное мнение, пожалуйста!
SetOutputFilter DEFLATE
# Netscape 4.x has some problems…
BrowserMatch ^Mozilla/4 gzip-only-text/html
# Netscape 4.06-4.08 have some more problems
BrowserMatch ^Mozilla/4\.0[678] no-gzip
# MSIE masquerades as Netscape, but it is fine
# BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
# NOTE: Due to a bug in mod_setenvif up to Apache 2.0.48
# the above regex won’t work. You can use the following
# workaround to get the desired effect:
BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html
# Don’t compress images
SetEnvIfNoCase Request_URI .(?:gif|jpe?g|png)$ no-gzip dont-vary
# Make sure proxies don’t deliver the wrong content
Header append Vary User-Agent env=!dont-vary
что это было?
Что добавить в htaccess, что бы не учитывался регистр букв в поисковой строке? Желательно что-бы отдавал ошибку 404.
Пример:
https://ваш-сайт.ru/htaccess-wordpress/
https://ваш-сайт.ru/HTACCESS-wordpress/
Получается это две одинаковых страницы (то есть дубли). И таких дублей можно сделать большое количество (особенно если название статьи большое).
Здравствуйте. А у меня такая вот картина:
RewriteEngine On
RewriteCond %{HTTP_ACCEPT} image/webp
RewriteCond %{REQUEST_FILENAME} (.+)\.(jpe?g|png|gif)$
RewriteCond %1\.webp -f
RewriteCond %{QUERY_STRING} !type=original
RewriteRule (.+)\.(jpe?g|png|gif)$ $1.webp [NC,T=image/webp,E=webp,L]
Header append Vary Accept
AddType image/webp .webp
# END W3TC WEBP
# BEGIN W3TC Browser Cache
AddType text/css .css
AddType text/x-component .htc
AddType application/x-javascript .js
AddType application/javascript .js2
AddType text/javascript .js3
AddType text/x-js .js4
AddType video/asf .asf .asx .wax .wmv .wmx
AddType video/avi .avi
AddType image/avif .avif
AddType image/avif-sequence .avifs
AddType image/bmp .bmp
AddType application/java .class
AddType video/divx .divx
AddType application/msword .doc .docx
AddType application/vnd.ms-fontobject .eot
AddType application/x-msdownload .exe
AddType image/gif .gif
AddType application/x-gzip .gz .gzip
AddType image/x-icon .ico
AddType image/jpeg .jpg .jpeg .jpe
AddType image/webp .webp
AddType application/json .json
AddType application/vnd.ms-access .mdb
AddType audio/midi .mid .midi
AddType video/quicktime .mov .qt
AddType audio/mpeg .mp3 .m4a
AddType video/mp4 .mp4 .m4v
AddType video/mpeg .mpeg .mpg .mpe
AddType video/webm .webm
AddType application/vnd.ms-project .mpp
AddType application/x-font-otf .otf
AddType application/vnd.ms-opentype ._otf
AddType application/vnd.oasis.opendocument.database .odb
AddType application/vnd.oasis.opendocument.chart .odc
AddType application/vnd.oasis.opendocument.formula .odf
AddType application/vnd.oasis.opendocument.graphics .odg
AddType application/vnd.oasis.opendocument.presentation .odp
AddType application/vnd.oasis.opendocument.spreadsheet .ods
AddType application/vnd.oasis.opendocument.text .odt
AddType audio/ogg .ogg
AddType video/ogg .ogv
AddType application/pdf .pdf
AddType image/png .png
AddType application/vnd.ms-powerpoint .pot .pps .ppt .pptx
AddType audio/x-realaudio .ra .ram
AddType image/svg+xml .svg .svgz
AddType application/x-shockwave-flash .swf
AddType application/x-tar .tar
AddType image/tiff .tif .tiff
AddType application/x-font-ttf .ttf .ttc
AddType application/vnd.ms-opentype ._ttf
AddType audio/wav .wav
AddType audio/wma .wma
AddType application/vnd.ms-write .wri
AddType application/font-woff .woff
AddType application/font-woff2 .woff2
AddType application/vnd.ms-excel .xla .xls .xlsx .xlt .xlw
AddType application/zip .zip
ExpiresActive On
ExpiresByType text/css A31536000
ExpiresByType text/x-component A31536000
ExpiresByType application/x-javascript A31536000
ExpiresByType application/javascript A31536000
ExpiresByType text/javascript A31536000
ExpiresByType text/x-js A31536000
ExpiresByType video/asf A31536000
ExpiresByType video/avi A31536000
ExpiresByType image/avif A31536000
ExpiresByType image/avif-sequence A31536000
ExpiresByType image/bmp A31536000
ExpiresByType application/java A31536000
ExpiresByType video/divx A31536000
ExpiresByType application/msword A31536000
ExpiresByType application/vnd.ms-fontobject A31536000
ExpiresByType application/x-msdownload A31536000
ExpiresByType image/gif A31536000
ExpiresByType application/x-gzip A31536000
ExpiresByType image/x-icon A31536000
ExpiresByType image/jpeg A31536000
ExpiresByType image/webp A31536000
ExpiresByType application/json A31536000
ExpiresByType application/vnd.ms-access A31536000
ExpiresByType audio/midi A31536000
ExpiresByType video/quicktime A31536000
ExpiresByType audio/mpeg A31536000
ExpiresByType video/mp4 A31536000
ExpiresByType video/mpeg A31536000
ExpiresByType video/webm A31536000
ExpiresByType application/vnd.ms-project A31536000
ExpiresByType application/x-font-otf A31536000
ExpiresByType application/vnd.ms-opentype A31536000
ExpiresByType application/vnd.oasis.opendocument.database A31536000
ExpiresByType application/vnd.oasis.opendocument.chart A31536000
ExpiresByType application/vnd.oasis.opendocument.formula A31536000
ExpiresByType application/vnd.oasis.opendocument.graphics A31536000
ExpiresByType application/vnd.oasis.opendocument.presentation A31536000
ExpiresByType application/vnd.oasis.opendocument.spreadsheet A31536000
ExpiresByType application/vnd.oasis.opendocument.text A31536000
ExpiresByType audio/ogg A31536000
ExpiresByType video/ogg A31536000
ExpiresByType application/pdf A31536000
ExpiresByType image/png A31536000
ExpiresByType application/vnd.ms-powerpoint A31536000
ExpiresByType audio/x-realaudio A31536000
ExpiresByType image/svg+xml A31536000
ExpiresByType application/x-shockwave-flash A31536000
ExpiresByType application/x-tar A31536000
ExpiresByType image/tiff A31536000
ExpiresByType application/x-font-ttf A31536000
ExpiresByType application/vnd.ms-opentype A31536000
ExpiresByType audio/wav A31536000
ExpiresByType audio/wma A31536000
ExpiresByType application/vnd.ms-write A31536000
ExpiresByType application/font-woff A31536000
ExpiresByType application/font-woff2 A31536000
ExpiresByType application/vnd.ms-excel A31536000
ExpiresByType application/zip A31536000
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html
AddOutputFilterByType DEFLATE text/css text/x-component application/x-javascript application/javascript text/javascript text/x-js text/html text/richtext text/plain text/xsd text/xsl text/xml image/bmp application/java application/msword application/vnd.ms-fontobject application/x-msdownload image/x-icon application/json application/vnd.ms-access video/webm application/vnd.ms-project application/x-font-otf application/vnd.ms-opentype application/vnd.oasis.opendocument.database application/vnd.oasis.opendocument.chart application/vnd.oasis.opendocument.formula application/vnd.oasis.opendocument.graphics application/vnd.oasis.opendocument.presentation application/vnd.oasis.opendocument.spreadsheet application/vnd.oasis.opendocument.text audio/ogg application/pdf application/vnd.ms-powerpoint image/svg+xml application/x-shockwave-flash image/tiff application/x-font-ttf application/vnd.ms-opentype audio/wav application/vnd.ms-write application/font-woff application/font-woff2 application/vnd.ms-excel
# DEFLATE by extension
AddOutputFilter DEFLATE js css htm html xml
FileETag MTime Size
Header unset Set-Cookie
FileETag MTime Size
FileETag MTime Size
Header unset Set-Cookie
Header set Referrer-Policy “no-referrer-when-downgrade”
# END W3TC Browser Cache
# BEGIN W3TC Page Cache core
RewriteEngine On
RewriteBase /
RewriteRule ^ – [E=W3TC_QUERY_STRING:%{QUERY_STRING}]
RewriteCond %{ENV:W3TC_QUERY_STRING} ^(.*?&|)_branch_match_id(=[^&]*)?(&.*|)$ [NC]
RewriteRule ^ – [E=W3TC_QUERY_STRING:%1%3]
RewriteCond %{ENV:W3TC_QUERY_STRING} ^(.*?&|)_bta_c(=[^&]*)?(&.*|)$ [NC]
RewriteRule ^ – [E=W3TC_QUERY_STRING:%1%3]
RewriteCond %{ENV:W3TC_QUERY_STRING} ^(.*?&|)_bta_tid(=[^&]*)?(&.*|)$ [NC]
RewriteRule ^ – [E=W3TC_QUERY_STRING:%1%3]
RewriteCond %{ENV:W3TC_QUERY_STRING} ^(.*?&|)_ga(=[^&]*)?(&.*|)$ [NC]
RewriteRule ^ – [E=W3TC_QUERY_STRING:%1%3]
RewriteCond %{ENV:W3TC_QUERY_STRING} ^(.*?&|)_gl(=[^&]*)?(&.*|)$ [NC]
RewriteRule ^ – [E=W3TC_QUERY_STRING:%1%3]
RewriteCond %{ENV:W3TC_QUERY_STRING} ^(.*?&|)_ke(=[^&]*)?(&.*|)$ [NC]
RewriteRule ^ – [E=W3TC_QUERY_STRING:%1%3]
RewriteCond %{ENV:W3TC_QUERY_STRING} ^(.*?&|)adgroupid(=[^&]*)?(&.*|)$ [NC]
RewriteRule ^ – [E=W3TC_QUERY_STRING:%1%3]
RewriteCond %{ENV:W3TC_QUERY_STRING} ^(.*?&|)adid(=[^&]*)?(&.*|)$ [NC]
RewriteRule ^ – [E=W3TC_QUERY_STRING:%1%3]
RewriteCond %{ENV:W3TC_QUERY_STRING} ^(.*?&|)age\-verified(=[^&]*)?(&.*|)$ [NC]
RewriteRule ^ – [E=W3TC_QUERY_STRING:%1%3]
RewriteCond %{ENV:W3TC_QUERY_STRING} ^(.*?&|)ao_noptimize(=[^&]*)?(&.*|)$ [NC]
RewriteRule ^ – [E=W3TC_QUERY_STRING:%1%3]
RewriteCond %{ENV:W3TC_QUERY_STRING} ^(.*?&|)campaignid(=[^&]*)?(&.*|)$ [NC]
RewriteRule ^ – [E=W3TC_QUERY_STRING:%1%3]
RewriteCond %{ENV:W3TC_QUERY_STRING} ^(.*?&|)campid(=[^&]*)?(&.*|)$ [NC]
RewriteRule ^ – [E=W3TC_QUERY_STRING:%1%3]
RewriteCond %{ENV:W3TC_QUERY_STRING} ^(.*?&|)cn\-reloaded(=[^&]*)?(&.*|)$ [NC]
RewriteRule ^ – [E=W3TC_QUERY_STRING:%1%3]
RewriteCond %{ENV:W3TC_QUERY_STRING} ^(.*?&|)customid(=[^&]*)?(&.*|)$ [NC]
RewriteRule ^ – [E=W3TC_QUERY_STRING:%1%3]
RewriteCond %{ENV:W3TC_QUERY_STRING} ^(.*?&|)dm_i(=[^&]*)?(&.*|)$ [NC]
RewriteRule ^ – [E=W3TC_QUERY_STRING:%1%3]
RewriteCond %{ENV:W3TC_QUERY_STRING} ^(.*?&|)ef_id(=[^&]*)?(&.*|)$ [NC]
RewriteRule ^ – [E=W3TC_QUERY_STRING:%1%3]
RewriteCond %{ENV:W3TC_QUERY_STRING} ^(.*?&|)epik(=[^&]*)?(&.*|)$ [NC]
RewriteRule ^ – [E=W3TC_QUERY_STRING:%1%3]
RewriteCond %{ENV:W3TC_QUERY_STRING} ^(.*?&|)fb_action_ids(=[^&]*)?(&.*|)$ [NC]
RewriteRule ^ – [E=W3TC_QUERY_STRING:%1%3]
RewriteCond %{ENV:W3TC_QUERY_STRING} ^(.*?&|)fb_action_types(=[^&]*)?(&.*|)$ [NC]
RewriteRule ^ – [E=W3TC_QUERY_STRING:%1%3]
RewriteCond %{ENV:W3TC_QUERY_STRING} ^(.*?&|)fb_source(=[^&]*)?(&.*|)$ [NC]
RewriteRule ^ – [E=W3TC_QUERY_STRING:%1%3]
RewriteCond %{ENV:W3TC_QUERY_STRING} ^(.*?&|)fbclid(=[^&]*)?(&.*|)$ [NC]
RewriteRule ^ – [E=W3TC_QUERY_STRING:%1%3]
RewriteCond %{ENV:W3TC_QUERY_STRING} ^(.*?&|)gclid(=[^&]*)?(&.*|)$ [NC]
RewriteRule ^ – [E=W3TC_QUERY_STRING:%1%3]
RewriteCond %{ENV:W3TC_QUERY_STRING} ^(.*?&|)gclsrc(=[^&]*)?(&.*|)$ [NC]
RewriteRule ^ – [E=W3TC_QUERY_STRING:%1%3]
RewriteCond %{ENV:W3TC_QUERY_STRING} ^(.*?&|)gdffi(=[^&]*)?(&.*|)$ [NC]
RewriteRule ^ – [E=W3TC_QUERY_STRING:%1%3]
RewriteCond %{ENV:W3TC_QUERY_STRING} ^(.*?&|)gdfms(=[^&]*)?(&.*|)$ [NC]
RewriteRule ^ – [E=W3TC_QUERY_STRING:%1%3]
RewriteCond %{ENV:W3TC_QUERY_STRING} ^(.*?&|)gdftrk(=[^&]*)?(&.*|)$ [NC]
RewriteRule ^ – [E=W3TC_QUERY_STRING:%1%3]
RewriteCond %{ENV:W3TC_QUERY_STRING} ^(.*?&|)hsa_acc(=[^&]*)?(&.*|)$ [NC]
RewriteRule ^ – [E=W3TC_QUERY_STRING:%1%3]
RewriteCond %{ENV:W3TC_QUERY_STRING} ^(.*?&|)hsa_ad(=[^&]*)?(&.*|)$ [NC]
RewriteRule ^ – [E=W3TC_QUERY_STRING:%1%3]
RewriteCond %{ENV:W3TC_QUERY_STRING} ^(.*?&|)hsa_cam(=[^&]*)?(&.*|)$ [NC]
RewriteRule ^ – [E=W3TC_QUERY_STRING:%1%3]
RewriteCond %{ENV:W3TC_QUERY_STRING} ^(.*?&|)hsa_grp(=[^&]*)?(&.*|)$ [NC]
RewriteRule ^ – [E=W3TC_QUERY_STRING:%1%3]
RewriteCond %{ENV:W3TC_QUERY_STRING} ^(.*?&|)hsa_kw(=[^&]*)?(&.*|)$ [NC]
RewriteRule ^ – [E=W3TC_QUERY_STRING:%1%3]
RewriteCond %{ENV:W3TC_QUERY_STRING} ^(.*?&|)hsa_mt(=[^&]*)?(&.*|)$ [NC]
RewriteRule ^ – [E=W3TC_QUERY_STRING:%1%3]
RewriteCond %{ENV:W3TC_QUERY_STRING} ^(.*?&|)hsa_net(=[^&]*)?(&.*|)$ [NC]
RewriteRule ^ – [E=W3TC_QUERY_STRING:%1%3]
RewriteCond %{ENV:W3TC_QUERY_STRING} ^(.*?&|)hsa_src(=[^&]*)?(&.*|)$ [NC]
RewriteRule ^ – [E=W3TC_QUERY_STRING:%1%3]
RewriteCond %{ENV:W3TC_QUERY_STRING} ^(.*?&|)hsa_tgt(=[^&]*)?(&.*|)$ [NC]
RewriteRule ^ – [E=W3TC_QUERY_STRING:%1%3]
RewriteCond %{ENV:W3TC_QUERY_STRING} ^(.*?&|)hsa_ver(=[^&]*)?(&.*|)$ [NC]
RewriteRule ^ – [E=W3TC_QUERY_STRING:%1%3]
RewriteCond %{ENV:W3TC_QUERY_STRING} ^(.*?&|)igshid(=[^&]*)?(&.*|)$ [NC]
RewriteRule ^ – [E=W3TC_QUERY_STRING:%1%3]
RewriteCond %{ENV:W3TC_QUERY_STRING} ^(.*?&|)matomo_campaign(=[^&]*)?(&.*|)$ [NC]
RewriteRule ^ – [E=W3TC_QUERY_STRING:%1%3]
RewriteCond %{ENV:W3TC_QUERY_STRING} ^(.*?&|)matomo_cid(=[^&]*)?(&.*|)$ [NC]
RewriteRule ^ – [E=W3TC_QUERY_STRING:%1%3]
RewriteCond %{ENV:W3TC_QUERY_STRING} ^(.*?&|)matomo_content(=[^&]*)?(&.*|)$ [NC]
RewriteRule ^ – [E=W3TC_QUERY_STRING:%1%3]
RewriteCond %{ENV:W3TC_QUERY_STRING} ^(.*?&|)matomo_group(=[^&]*)?(&.*|)$ [NC]
RewriteRule ^ – [E=W3TC_QUERY_STRING:%1%3]
RewriteCond %{ENV:W3TC_QUERY_STRING} ^(.*?&|)matomo_keyword(=[^&]*)?(&.*|)$ [NC]
RewriteRule ^ – [E=W3TC_QUERY_STRING:%1%3]
RewriteCond %{ENV:W3TC_QUERY_STRING} ^(.*?&|)matomo_medium(=[^&]*)?(&.*|)$ [NC]
RewriteRule ^ – [E=W3TC_QUERY_STRING:%1%3]
RewriteCond %{ENV:W3TC_QUERY_STRING} ^(.*?&|)matomo_placement(=[^&]*)?(&.*|)$ [NC]
RewriteRule ^ – [E=W3TC_QUERY_STRING:%1%3]
RewriteCond %{ENV:W3TC_QUERY_STRING} ^(.*?&|)matomo_source(=[^&]*)?(&.*|)$ [NC]
RewriteRule ^ – [E=W3TC_QUERY_STRING:%1%3]
RewriteCond %{ENV:W3TC_QUERY_STRING} ^(.*?&|)mc_cid(=[^&]*)?(&.*|)$ [NC]
RewriteRule ^ – [E=W3TC_QUERY_STRING:%1%3]
RewriteCond %{ENV:W3TC_QUERY_STRING} ^(.*?&|)mc_eid(=[^&]*)?(&.*|)$ [NC]
RewriteRule ^ – [E=W3TC_QUERY_STRING:%1%3]
RewriteCond %{ENV:W3TC_QUERY_STRING} ^(.*?&|)mkcid(=[^&]*)?(&.*|)$ [NC]
RewriteRule ^ – [E=W3TC_QUERY_STRING:%1%3]
RewriteCond %{ENV:W3TC_QUERY_STRING} ^(.*?&|)mkevt(=[^&]*)?(&.*|)$ [NC]
RewriteRule ^ – [E=W3TC_QUERY_STRING:%1%3]
RewriteCond %{ENV:W3TC_QUERY_STRING} ^(.*?&|)mkrid(=[^&]*)?(&.*|)$ [NC]
RewriteRule ^ – [E=W3TC_QUERY_STRING:%1%3]
RewriteCond %{ENV:W3TC_QUERY_STRING} ^(.*?&|)mkwid(=[^&]*)?(&.*|)$ [NC]
RewriteRule ^ – [E=W3TC_QUERY_STRING:%1%3]
RewriteCond %{ENV:W3TC_QUERY_STRING} ^(.*?&|)msclkid(=[^&]*)?(&.*|)$ [NC]
RewriteRule ^ – [E=W3TC_QUERY_STRING:%1%3]
RewriteCond %{ENV:W3TC_QUERY_STRING} ^(.*?&|)mtm_campaign(=[^&]*)?(&.*|)$ [NC]
RewriteRule ^ – [E=W3TC_QUERY_STRING:%1%3]
RewriteCond %{ENV:W3TC_QUERY_STRING} ^(.*?&|)mtm_cid(=[^&]*)?(&.*|)$ [NC]
RewriteRule ^ – [E=W3TC_QUERY_STRING:%1%3]
RewriteCond %{ENV:W3TC_QUERY_STRING} ^(.*?&|)mtm_content(=[^&]*)?(&.*|)$ [NC]
RewriteRule ^ – [E=W3TC_QUERY_STRING:%1%3]
RewriteCond %{ENV:W3TC_QUERY_STRING} ^(.*?&|)mtm_group(=[^&]*)?(&.*|)$ [NC]
RewriteRule ^ – [E=W3TC_QUERY_STRING:%1%3]
RewriteCond %{ENV:W3TC_QUERY_STRING} ^(.*?&|)mtm_keyword(=[^&]*)?(&.*|)$ [NC]
RewriteRule ^ – [E=W3TC_QUERY_STRING:%1%3]
RewriteCond %{ENV:W3TC_QUERY_STRING} ^(.*?&|)mtm_medium(=[^&]*)?(&.*|)$ [NC]
RewriteRule ^ – [E=W3TC_QUERY_STRING:%1%3]
RewriteCond %{ENV:W3TC_QUERY_STRING} ^(.*?&|)mtm_placement(=[^&]*)?(&.*|)$ [NC]
RewriteRule ^ – [E=W3TC_QUERY_STRING:%1%3]
RewriteCond %{ENV:W3TC_QUERY_STRING} ^(.*?&|)mtm_source(=[^&]*)?(&.*|)$ [NC]
RewriteRule ^ – [E=W3TC_QUERY_STRING:%1%3]
RewriteCond %{ENV:W3TC_QUERY_STRING} ^(.*?&|)pcrid(=[^&]*)?(&.*|)$ [NC]
RewriteRule ^ – [E=W3TC_QUERY_STRING:%1%3]
RewriteCond %{ENV:W3TC_QUERY_STRING} ^(.*?&|)piwik_campaign(=[^&]*)?(&.*|)$ [NC]
RewriteRule ^ – [E=W3TC_QUERY_STRING:%1%3]
RewriteCond %{ENV:W3TC_QUERY_STRING} ^(.*?&|)piwik_keyword(=[^&]*)?(&.*|)$ [NC]
RewriteRule ^ – [E=W3TC_QUERY_STRING:%1%3]
RewriteCond %{ENV:W3TC_QUERY_STRING} ^(.*?&|)piwik_kwd(=[^&]*)?(&.*|)$ [NC]
RewriteRule ^ – [E=W3TC_QUERY_STRING:%1%3]
RewriteCond %{ENV:W3TC_QUERY_STRING} ^(.*?&|)pk_campaign(=[^&]*)?(&.*|)$ [NC]
RewriteRule ^ – [E=W3TC_QUERY_STRING:%1%3]
RewriteCond %{ENV:W3TC_QUERY_STRING} ^(.*?&|)pk_cid(=[^&]*)?(&.*|)$ [NC]
RewriteRule ^ – [E=W3TC_QUERY_STRING:%1%3]
RewriteCond %{ENV:W3TC_QUERY_STRING} ^(.*?&|)pk_content(=[^&]*)?(&.*|)$ [NC]
RewriteRule ^ – [E=W3TC_QUERY_STRING:%1%3]
RewriteCond %{ENV:W3TC_QUERY_STRING} ^(.*?&|)pk_keyword(=[^&]*)?(&.*|)$ [NC]
RewriteRule ^ – [E=W3TC_QUERY_STRING:%1%3]
RewriteCond %{ENV:W3TC_QUERY_STRING} ^(.*?&|)pk_kwd(=[^&]*)?(&.*|)$ [NC]
RewriteRule ^ – [E=W3TC_QUERY_STRING:%1%3]
RewriteCond %{ENV:W3TC_QUERY_STRING} ^(.*?&|)pk_medium(=[^&]*)?(&.*|)$ [NC]
RewriteRule ^ – [E=W3TC_QUERY_STRING:%1%3]
RewriteCond %{ENV:W3TC_QUERY_STRING} ^(.*?&|)pk_source(=[^&]*)?(&.*|)$ [NC]
RewriteRule ^ – [E=W3TC_QUERY_STRING:%1%3]
RewriteCond %{ENV:W3TC_QUERY_STRING} ^(.*?&|)pp(=[^&]*)?(&.*|)$ [NC]
RewriteRule ^ – [E=W3TC_QUERY_STRING:%1%3]
RewriteCond %{ENV:W3TC_QUERY_STRING} ^(.*?&|)redirect_log_mongo_id(=[^&]*)?(&.*|)$ [NC]
RewriteRule ^ – [E=W3TC_QUERY_STRING:%1%3]
RewriteCond %{ENV:W3TC_QUERY_STRING} ^(.*?&|)redirect_mongo_id(=[^&]*)?(&.*|)$ [NC]
RewriteRule ^ – [E=W3TC_QUERY_STRING:%1%3]
RewriteCond %{ENV:W3TC_QUERY_STRING} ^(.*?&|)ref(=[^&]*)?(&.*|)$ [NC]
RewriteRule ^ – [E=W3TC_QUERY_STRING:%1%3]
RewriteCond %{ENV:W3TC_QUERY_STRING} ^(.*?&|)s_kwcid(=[^&]*)?(&.*|)$ [NC]
RewriteRule ^ – [E=W3TC_QUERY_STRING:%1%3]
RewriteCond %{ENV:W3TC_QUERY_STRING} ^(.*?&|)sb_referer_host(=[^&]*)?(&.*|)$ [NC]
RewriteRule ^ – [E=W3TC_QUERY_STRING:%1%3]
RewriteCond %{ENV:W3TC_QUERY_STRING} ^(.*?&|)si(=[^&]*)?(&.*|)$ [NC]
RewriteRule ^ – [E=W3TC_QUERY_STRING:%1%3]
RewriteCond %{ENV:W3TC_QUERY_STRING} ^(.*?&|)sscid(=[^&]*)?(&.*|)$ [NC]
RewriteRule ^ – [E=W3TC_QUERY_STRING:%1%3]
RewriteCond %{ENV:W3TC_QUERY_STRING} ^(.*?&|)toolid(=[^&]*)?(&.*|)$ [NC]
RewriteRule ^ – [E=W3TC_QUERY_STRING:%1%3]
RewriteCond %{ENV:W3TC_QUERY_STRING} ^(.*?&|)trk_contact(=[^&]*)?(&.*|)$ [NC]
RewriteRule ^ – [E=W3TC_QUERY_STRING:%1%3]
RewriteCond %{ENV:W3TC_QUERY_STRING} ^(.*?&|)trk_module(=[^&]*)?(&.*|)$ [NC]
RewriteRule ^ – [E=W3TC_QUERY_STRING:%1%3]
RewriteCond %{ENV:W3TC_QUERY_STRING} ^(.*?&|)trk_msg(=[^&]*)?(&.*|)$ [NC]
RewriteRule ^ – [E=W3TC_QUERY_STRING:%1%3]
RewriteCond %{ENV:W3TC_QUERY_STRING} ^(.*?&|)trk_sid(=[^&]*)?(&.*|)$ [NC]
RewriteRule ^ – [E=W3TC_QUERY_STRING:%1%3]
RewriteCond %{ENV:W3TC_QUERY_STRING} ^(.*?&|)usqp(=[^&]*)?(&.*|)$ [NC]
RewriteRule ^ – [E=W3TC_QUERY_STRING:%1%3]
RewriteCond %{ENV:W3TC_QUERY_STRING} ^(.*?&|)utm_campaign(=[^&]*)?(&.*|)$ [NC]
RewriteRule ^ – [E=W3TC_QUERY_STRING:%1%3]
RewriteCond %{ENV:W3TC_QUERY_STRING} ^(.*?&|)utm_content(=[^&]*)?(&.*|)$ [NC]
RewriteRule ^ – [E=W3TC_QUERY_STRING:%1%3]
RewriteCond %{ENV:W3TC_QUERY_STRING} ^(.*?&|)utm_expid(=[^&]*)?(&.*|)$ [NC]
RewriteRule ^ – [E=W3TC_QUERY_STRING:%1%3]
RewriteCond %{ENV:W3TC_QUERY_STRING} ^(.*?&|)utm_id(=[^&]*)?(&.*|)$ [NC]
RewriteRule ^ – [E=W3TC_QUERY_STRING:%1%3]
RewriteCond %{ENV:W3TC_QUERY_STRING} ^(.*?&|)utm_medium(=[^&]*)?(&.*|)$ [NC]
RewriteRule ^ – [E=W3TC_QUERY_STRING:%1%3]
RewriteCond %{ENV:W3TC_QUERY_STRING} ^(.*?&|)utm_source(=[^&]*)?(&.*|)$ [NC]
RewriteRule ^ – [E=W3TC_QUERY_STRING:%1%3]
RewriteCond %{ENV:W3TC_QUERY_STRING} ^(.*?&|)utm_term(=[^&]*)?(&.*|)$ [NC]
RewriteRule ^ – [E=W3TC_QUERY_STRING:%1%3]
RewriteCond %{ENV:W3TC_QUERY_STRING} ^&+$
RewriteRule ^ – [E=W3TC_QUERY_STRING]
RewriteCond %{HTTPS} =on
RewriteRule .* – [E=W3TC_SSL:_ssl]
RewriteCond %{SERVER_PORT} =443
RewriteRule .* – [E=W3TC_SSL:_ssl]
RewriteCond %{HTTP:X-Forwarded-Proto} =https [NC]
RewriteRule .* – [E=W3TC_SSL:_ssl]
RewriteCond %{HTTP:Accept-Encoding} gzip
RewriteRule .* – [E=W3TC_ENC:_gzip]
RewriteCond %{HTTP_COOKIE} w3tc_preview [NC]
RewriteRule .* – [E=W3TC_PREVIEW:_preview]
RewriteCond %{REQUEST_URI} \/$
RewriteRule .* – [E=W3TC_SLASH:_slash]
RewriteCond %{REQUEST_METHOD} !=POST
RewriteCond %{ENV:W3TC_QUERY_STRING} =””
RewriteCond %{HTTP_COOKIE} !(comment_author|wp\-postpass|w3tc_logged_out|wordpress_logged_in|wptouch_switch_toggle) [NC]
RewriteCond %{HTTP_USER_AGENT} !(W3\ Total\ Cache) [NC]
RewriteCond “%{DOCUMENT_ROOT}/wp-content/cache/page_enhanced/%{HTTP_HOST}/%{REQUEST_URI}/_index%{ENV:W3TC_SLASH}%{ENV:W3TC_SSL}%{ENV:W3TC_PREVIEW}.html%{ENV:W3TC_ENC}” -f
RewriteRule .* “/wp-content/cache/page_enhanced/%{HTTP_HOST}/%{REQUEST_URI}/_index%{ENV:W3TC_SLASH}%{ENV:W3TC_SSL}%{ENV:W3TC_PREVIEW}.html%{ENV:W3TC_ENC}” [L]
RewriteCond %{REQUEST_METHOD} !=POST
RewriteCond %{ENV:W3TC_QUERY_STRING} =””
RewriteCond %{HTTP_COOKIE} !(comment_author|wp\-postpass|w3tc_logged_out|wordpress_logged_in|wptouch_switch_toggle) [NC]
RewriteCond %{HTTP_USER_AGENT} !(W3\ Total\ Cache) [NC]
RewriteCond “%{DOCUMENT_ROOT}/wp-content/cache/page_enhanced/%{HTTP_HOST}/%{REQUEST_URI}/_index%{ENV:W3TC_SLASH}%{ENV:W3TC_SSL}%{ENV:W3TC_PREVIEW}.xml%{ENV:W3TC_ENC}” -f
RewriteRule .* “/wp-content/cache/page_enhanced/%{HTTP_HOST}/%{REQUEST_URI}/_index%{ENV:W3TC_SLASH}%{ENV:W3TC_SSL}%{ENV:W3TC_PREVIEW}.xml%{ENV:W3TC_ENC}” [L]
# END W3TC Page Cache core
# BEGIN WordPress
# Директивы (строки) между `BEGIN WordPress` и `END WordPress`
# созданы автоматически и подлежат изменению только через фильтры WordPress.
# Сделанные вручную изменения между этими маркерами будут перезаписаны.
RewriteEngine On
RewriteRule .* – [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress
Это что такое? Что это значит?
Подскажите показывает что тройной редирект
http://www.мойсайт.ru
https://www.мойсайт.ru/
https://мойсайт.ru/
То есть -301-301-200
Как убрать ?
Сейчас настройки такие:
# BEGIN WordPress
RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress