Більше результатів...

Загальні селектори
Тільки точні збіги
Шукати у заголовках
Шукати у контенті
Вибір типів постів
Фільтрувати за категоріями
FAQ
Hostenko
Натхнення
Відео уроки
Новини
Плагіни
Теми
Уроки
Хакі

Редирект – це переадресація. Потрібний він для того, щоб перенаправити користувачів на іншу URL (сторінку або запис сайту), відмінний від того, який вони спочатку запросили. Наприклад, якщо людина в адресному рядку пише ваш сайт.com при правильному налаштуванні він потрапить на www.ваш-сайт.com або навпаки.

Відео
По відео ви можете детально розібратися, як налаштовувати 301 редирект для різних завдань переадресації.

inet.ws - Powerful VPS Hosting в США, Canada, UK та DE!

Існує кілька кодів відповіді під час редиректи

У специфікації HTTP/1.0:

301 – буквально означає “Документ перенесено остаточно”,

302 - "Документ перенесено тимчасово".

У специфікації протоколу HTTP/1.1 з'явилися такі коди:

303 – “шукайте документ тут”, код відповіді вказує браузеру те що, що шуканий документ потрібно запитати методом GET, навіть якщо початковий запит виконувався іншим методом. Це код відповіді, введений для заміни коду 302 у протоколі HTTP/1.1,

307 – “Запитуваний документ на короткий час доступний по іншому URI”, вказує браузеру, що шуканий документ потрібно запитати тим методом (GET/POST), яким було виконано первинний запит, змінювати метод запиту забороняється. Цей код відповіді також введений для заміни коду 302 у протоколі HTTP/1.1,

308 – “Запитаний документ був остаточно перенесений на новий URI”, цей код відповіді доданий до HTTP/1.1 замість коду 301, додатково він означає, що метод запиту (GET/POST) при переході по новому URI міняти не дозволяється. Якщо ви запросили ресурс у першому запиті методом GET, то й другий запит мають виконати методом GET.

Найчастіше для переадресації використовується код відповіді 301, тому переадресацію ще називають 301 редиректом. Усі приклади у статті використовуватимуть саме цей код відповіді. Налаштовувати 301 редирект можна різними способами: PHP, JS, .htaccess, а також спеціальними плагінами.

Ми розглянемо, як це зробити за допомогою плагіна Redirection, а також шляхом редагування файлу .htaccess.

Плагін Redirection (Перенаправлення)

Після встановлення плагіна Redirection на ваш сайт потрібно перейти до його налаштування. Це можна зробити одним із способів:

  • У консолі сайту, у розділі "Інструменти" перейдіть на вкладку Redirection.
  • Знайти його у розділі плагіни та натиснути “Налаштування”.

Для мінімального налаштування редиректу достатньо заповнити лише два поля, Source URL та Target URL у розділі Redirection.

перенаправлення 310 на вордпрес сайті

За допомогою цього плагіна можна замінити деякі довгі посилання більш короткі. Це більше необхідно для зручності користувач, оскільки короткі посилання легше сприймаються.

Докладніше про налаштування плагіна Redirection можна прочитати

у статті https://hostenko.com/wpcafe/plugins/rukovodstvo-po-url-perenapravleniyam-dlya-wordpress-saytov/

Редагування файлу .htaccess

У розділі керування хостингом наведено дані для підключення до файлів вашого сайту по FTP. Для підключення потрібно використовувати ftp-клієнт, наприклад, Filezilla.

Після підключення приступаємо до редагування файлу .htaccess. Він знаходиться у кореневому каталозі вашого сайту.

Для редагування варто використовувати такий редактор коду, в якому можна задавати кодування і формат кінця рядків, наприклад, Notepad++.

Розглянемо приклади переадресації:

  1. Редирект http://example.com на https://example.com, з урахуванням посилань:

Після підключення ssl-сертифіката варто додати обов'язкову переадресацію з http на https, щоб усі ваші з'єднання були зашифровані. Такий редирект виключить можливість підключення за протоколом http.

Для цього в самий початок файлу .htaccess вставляємо скопійовані рядки:

# BEGIN Redirect
RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] # END Redirect     

  1. Редирект з www.example.com на example.com, з урахуванням посилань:

# BEGIN Redirect
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^www.(.*)$ [NC] RewriteRule ^(.*)$ http://%1/$1 [R=301,L] # END Redirect

Зверніть увагуякщо у вас підключений ssl-сертифікат, рядок:
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
варто замінити на:
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]

3.  Редирект example.com на www.example.com, з урахуванням посилань:

# BEGIN Redirect
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L] # END Redirect         

Зверніть увагуякщо у вас підключений ssl-сертифікат, рядок:
Перепишіть правило ^(.*) $ Http: //www.% {HTTP_HOST}/$ 1 [R = 301, L]
варто замінити на:
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/$1 [R=301,L]

При налаштуванні даного редиректу потрібно змінити назву вашого сайту у базі даних, додавши www. Зробити це потрібно у phpMyAdmin, відредагувавши рядки

siteurl і home у таблиці wp_options (якщо префікс таблиць у вашій БД – “wp_”).

зміна бази даних при редиректі 301

  1. Позбутися технічного домену виду example.hostenko.com.

За замовчуванням при підключенні вашого власного домену на нашому хостингу автоматично додається 301 редирект з технічного домену на ваш власний. Але якщо вам це не підходить, можете зробити технічний домен типу example.hostenko.com повністю недоступним за допомогою коду, вказаного нижче. Їм слід замінити код, який додається автоматично при підключенні власного домену.

Але варто враховувати, що якщо ваш сайт вже має якусь вагу в пошукових системах, то ці досягнення будуть втрачені, а з 301 редиректом вони збережуться та перейдуть на ваш новий домен.

# BEGIN Redirect old domain to 404
RewriteCond %{HTTP_HOST} ^example.hostenko.com$ [NC] RewriteRule ^(.*)$ - [R=404,L] # END Redirect

Це означатиме, що сайт не відкриватиметься за доменом example.hostenko.com

Важливо! При збереженні відредагованого файлу обов'язково варто переконатися, що формат кінця рядків у форматі UNIX (LF), а також кодування у форматі UTF-8 без BOM.

редирект 301 на вордпрес сайті

редирект 301 на вордпрес сайті
Якщо Ви хочете використати кілька з перерахованих вище редиректів, варто прописати їх у такій послідовності:

  1. Звільнення від старого домену.
  2. Перенаправлення з www.example.com на example.com або Перенаправлення example.com на www.example.com.
  3. Перенаправлення http://example.com на https://example.com.

Існує багато інших правил, зокрема, які використовують регулярні вирази. Але вони індивідуальні і потрібні не так часто, як ті, що описані вище та їх опис виходить за рамки цієї статті.

Якщо у вас виникла потреба написати складніші правила переадресації, радимо подивитися документацію по web-серверу apache 2 та його модулю mod_rewrite, а також по регулярним виразам формату PCRE:

inet.ws - Powerful VPS Hosting в США, Canada, UK та DE!
Олексій Шевченко
редактор wpcafe
Вивчає сайтобудування з 2008 року. Практикуючий вебмайстер, що спеціалізується на створенні сайтів WordPress. Задати питання Олексію можна на https://profiles.wordpress.org/wpthemeus/

Коментарі до запису: 2

Юрій:

Доброго дня!
Скористався плагіном Redirection. Маю сертифікат SSL. Але SSL налаштування показало Знак оклику з ось таким попередженням:
WordPress 301 redirect enabled. Recomend to enable the .htaccess redirect option on your specific setup.
Цей метод допоможе вирішити чи може нашкодити? :

ТОВ Альянс-безпека:

Добрий день. Ви вирішили цю проблему? Аналогічна проблема.

Додати коментар або відгук