.htaccess правильная настройка для Wordpress

  • 2020-07-24
  • Дмитрий М.
  • 117

.htaccess правильная настройка для Wordpress

<p> При помощи файла htaccess можно влиять на настройки вашего Apache сервера, в случаи когда вы используете облачный хостинг это единственная возможность изменять настройки работы Apache сервера для конкретного сайта. </p> <p> Для самой CMS Wordpress основные возможности которые даёт <b>htaccess</b> является настройка правил обработки URL адресов, настройка редиректов, ошибок, доступа, и ЧПУ («человеко-понятные» URL ссылки) </p> <br> <h2>Где находиться файл htaccess в Wordpress?</h2> <p> Найти файл .htaccess можно в корневой директории вашего сайт, т.е в папке где лежат все файлы/папки вашего сайта, там же должен находиться htaccess. </p> <p> Например при помощи программ <b>FileZilla </b>или <b>WinSCP</b> Вы можете подключиться к вашему сайту используя ftp/ssh доступы. Ниже скриншот из программы <b>WinSCP</b>. </p> <blockquote> <p> В программе WinSCP по умолчанию отключён показ скрытых файлов и папок. Чтобы его включить необходимо зайти: <i>Параметры -&gt; Настройки -&gt; Панели -&gt;</i> Установить галочку <i>«Показывать скрытые файлы»</i> </p> </blockquote> <div class="image"> <img width="100%" alt="Файл .htaccess в корневой директории сайта" src="/upload/medialibrary/9e7/9e76a5792f020fadcab7adb55392a2af.png" title="Файл .htaccess в корневой директории сайта"> </div> <p> Если по какой то причине файла <b>.htaccess</b>, тогда его необходимо создать используя ту же программу, при создании файла в качестве его имени пишем <b>.htaccess</b> (точка обязательна), важно чтобы файл создался без какого либо расширения (например может быть что создастся <b>.htaccess.txt</b> - <b>.txt</b> это расширение и у <b>.htaccess</b> никакого <b>расширения быть не должно</b>). </p> <br> <h2>Содержимое файла .htaccess для Wordpress по-умолчанию</h2> <p> По-умолчанию для <b>CMS Wordpress</b> в файле <b>.htaccess</b> должен содержаться только следующий код: </p> <pre class="line-numbers"><code class="language-php">DirectoryIndex index.php # BEGIN WordPress # Директивы (строки) между `BEGIN WordPress` и `END WordPress` # созданы автоматически и подлежат изменению только через фильтры WordPress. # Сделанные вручную изменения между этими маркерами будут перезаписаны. <span mod_rewrite.c=""> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </span> # END WordPress</code> </pre> <br> <h2>Настройка редиректа с www на без-www для Wordpress</h2> <p> Ваш блог на CMS Вордпресс изначально доступен по двум адресам <a href="http://www.адрес-вашего-блога.ru">www.адрес-вашего-блога.ru</a> и адрес-вашего-блога.ru. С точки зрения поисковой системы например Яндекс, это два разных сайта ( хотя по факту это один и тот же сайт но доступный по двум разным адресам ), такие сайты (доступные по нескольким разным адресам ) плохо ранжируются поисковыми системами, т.е позиции вашего сайта будут ниже чем, позиции аналогичных сайтов в поисковой выдаче. </p> <p> Чтобы такого не происходило нужно настроить доступность Вашего блога только по одному адресу: или с www или без-www. Как правило сейчас настраивают в качестве основного адреса, адрес без-www. </p> <p> В Wordpress настроить редирект можно в админке самого сайта и соответственно не нужно ничего изменять или дописывать в файле .htaccess. </p> <p> Надо зайти по адресу <a href="http://адрес-вашего-сайта.ru/wp-admin/">http://адрес-вашего-сайта.ru/wp-admin/</a> указать логин и пароль. Далее выбираем <i>Настройки -&gt; Общие</i>. В поле <b>Адрес WordPress (URL)</b> указываем адрес сайта: или с www или без-www. После не забудьте <b>Сохранить изменение</b> путём <b>нажатия </b>на соответствующую кнопку ниже на странице. </p> <div class="image"> <img width="100%" alt="wp.png" src="/upload/medialibrary/f8f/f8fea45557c6f240d7a8b1317b676b43.png" title="wp.png"> </div> <br> <h2> Настройка Wordpress на работу с https </h2> <p> Для того чтобы Ваш блог стал работать по протоколу <b>https </b>в первую очередь Вам необходимо установить <b>ssl </b>сертификат для вашего домена, как это сделать, можно прочитать на сайте вашего хостера (как правило все Хостинги предоставляют развёрнутую инструкцию по установке <b>ssl </b>сертификата и имеют возможность установить <b>бесплатный </b><b>ssl </b>сертификат). </p> <p> После того, как сертификат будет установлен, Вам надо включить Ваш сайт на работу по <b>https</b>, для этого зайдите в админку сайта, далее <b>Настройки -&gt; Общее</b>, в поле <b>Адрес WordPress (URL) </b> указать адрес Вашего сайта вместе с https протоколом, т.е должно быть так <b><a href="https://адрес-вашего-сайта.ru">https://адрес-вашего-сайта.ru</a></b>. Теперь Водрпресс сам начнёт работать по https и ничего нигде больше настраивать не нужно будет. </p> <br> <h2>Wordpress настройка 301-редиректа</h2> <p> Если Вам необходимо по какой то причине настроить редирект с одной страницы сайта на другую или например на внешний сайт, это можно сделать с помощью такой конструкции </p> <pre class="line-numbers"><code class="language-php">RewriteCond %{REQUEST_URI} ^адрес-страницы-с-которой-будет-редирект$ RewriteRule ^(.*)$ адрес-страницы-назначения [L,R=301]</code> </pre> <p> <b>ВАЖНО:</b> адрес страницы с которой будет осуществляться редирект указывается без домена Вашего сайта, т.е если адрес такой: <i><a href="https://ваш-сайт.ru/раздел/страница-с-которой-будет-редирект/">https://ваш-сайт.ru/раздел/страница-с-которой-будет-редирект/</a></i> - нужно оставить только <i>/раздел/страница-с-которой-будет-редирект/</i>. </p> <p> <b>ВАЖНО:</b> адрес страницы назначения должен указываться вместе с доменом и протоколом, т.е если надо направить редирект на страницу <i><a href="https://ваш-сайт.ru/раздел/страница-назначения/">https://ваш-сайт.ru/раздел/страница-назначения/</a></i> - тогда указываем адрес полностью. </p> <p> Правила редиректа дописываем в файл <b>.htaccess</b> после строки с <b><i>RewriteBase /</i></b> </p> <pre class="line-numbers"><code class="language-php"># BEGIN WordPress # Директивы (строки) между `BEGIN WordPress` и `END WordPress` # созданы автоматически и подлежат изменению только через фильтры WordPress. # Сделанные вручную изменения между этими маркерами будут перезаписаны. <span mod_rewrite.c=""> RewriteEngine On RewriteBase / RewriteCond %{REQUEST_URI} ^/раздел/страница-с-которой-будет-редирект/$ RewriteRule ^(.*)$ <a href="https://xn----7sbbf2b7bj7b.ru/%D1%80%D0%B0%D0%B7%D0%B4%D0%B5%D0%BB/%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0-%D0%BD%D0%B0%D0%B7%D0%BD%D0%B0%D1%87%D0%B5%D0%BD%D0%B8%D1%8F/">https://ваш-сайт.ru/раздел/страница-назначения/</a> [L,R=301] RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </span> # END WordPress</code> </pre>

29.07.2020 01:55:46

bca9a22da817b5a909b99935d66503b5[1].jpg

bca9a22da817b5a909b99935d66503b5[1].jpg

.htaccess правильная настройка для Wordpress

 .htaccess правильная настройка для Wordpress

Если решили завести себе блог под управлением CMS Wordpress следуют уделить внимание его технической настройки. В первую очередь необходимо настроить файл .htaccess.

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

Для самой CMS Wordpress основные возможности которые даёт htaccess является настройка правил обработки URL адресов, настройка редиректов, ошибок, доступа, и ЧПУ («человеко-понятные» URL ссылки)


Где находиться файл htaccess в Wordpress?

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

Например при помощи программ FileZilla или WinSCP Вы можете подключиться к вашему сайту используя ftp/ssh доступы. Ниже скриншот из программы WinSCP.

В программе WinSCP по умолчанию отключён показ скрытых файлов и папок. Чтобы его включить необходимо зайти: Параметры -> Настройки -> Панели -> Установить галочку «Показывать скрытые файлы»

Файл .htaccess в корневой директории сайта

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


Содержимое файла .htaccess для Wordpress по-умолчанию

По-умолчанию для CMS Wordpress в файле .htaccess должен содержаться только следующий код:

DirectoryIndex index.php
# BEGIN WordPress
# Директивы (строки) между `BEGIN WordPress` и `END WordPress`
# созданы автоматически и подлежат изменению только через фильтры WordPress.
# Сделанные вручную изменения между этими маркерами будут перезаписаны.

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]


# END WordPress

Настройка редиректа с www на без-www для Wordpress

Ваш блог на CMS Вордпресс изначально доступен по двум адресам www.адрес-вашего-блога.ru и адрес-вашего-блога.ru. С точки зрения поисковой системы например Яндекс, это два разных сайта ( хотя по факту это один и тот же сайт но доступный по двум разным адресам ), такие сайты (доступные по нескольким разным адресам ) плохо ранжируются поисковыми системами, т.е позиции вашего сайта будут ниже чем, позиции аналогичных сайтов в поисковой выдаче.

Чтобы такого не происходило нужно настроить доступность Вашего блога только по одному адресу: или с www или без-www. Как правило сейчас настраивают в качестве основного адреса, адрес без-www.

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

Надо зайти по адресу http://адрес-вашего-сайта.ru/wp-admin/ указать логин и пароль. Далее выбираем Настройки -> Общие. В поле Адрес WordPress (URL) указываем адрес сайта: или с www или без-www. После не забудьте Сохранить изменение путём нажатия на соответствующую кнопку ниже на странице.

wp.png

Настройка Wordpress на работу с https

Для того чтобы Ваш блог стал работать по протоколу https в первую очередь Вам необходимо установить ssl сертификат для вашего домена, как это сделать, можно прочитать на сайте вашего хостера (как правило все Хостинги предоставляют развёрнутую инструкцию по установке ssl сертификата и имеют возможность установить бесплатный ssl сертификат).

После того, как сертификат будет установлен, Вам надо включить Ваш сайт на работу по https, для этого зайдите в админку сайта, далее Настройки -> Общее, в поле Адрес WordPress (URL)  указать адрес Вашего сайта вместе с https протоколом, т.е должно быть так https://адрес-вашего-сайта.ru. Теперь Водрпресс сам начнёт работать по https и ничего нигде больше настраивать не нужно будет.


Wordpress настройка 301-редиректа

Если Вам необходимо по какой то причине настроить редирект с одной страницы сайта на другую или например на внешний сайт, это можно сделать с помощью такой конструкции

RewriteCond %{REQUEST_URI} ^адрес-страницы-с-которой-будет-редирект$
RewriteRule ^(.*)$ адрес-страницы-назначения [L,R=301]

ВАЖНО: адрес страницы с которой будет осуществляться редирект указывается без домена Вашего сайта, т.е если адрес такой: https://ваш-сайт.ru/раздел/страница-с-которой-будет-редирект/ - нужно оставить только /раздел/страница-с-которой-будет-редирект/.

ВАЖНО: адрес страницы назначения должен указываться вместе с доменом и протоколом, т.е если надо направить редирект на страницу https://ваш-сайт.ru/раздел/страница-назначения/ - тогда указываем адрес полностью.

Правила редиректа дописываем в файл .htaccess после строки с RewriteBase /

# BEGIN WordPress
# Директивы (строки) между `BEGIN WordPress` и `END WordPress`
# созданы автоматически и подлежат изменению только через фильтры WordPress.
# Сделанные вручную изменения между этими маркерами будут перезаписаны.

RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_URI} ^/раздел/страница-с-которой-будет-редирект/$
RewriteRule ^(.*)$ https://ваш-сайт.ru/раздел/страница-назначения/ [L,R=301]

RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]


# END WordPress


Статья была полезна? Поблагодарите автора.

Возврат к списку

Другие статьи