<
  • Главная
Статьи

301 редирект: інструкція по налаштуванню

4.1. C допомогою файлу .htaccess (для веб-сервера Apache)

Як знайти файл .htaccess?

Як правило, файл розміщений в кореневій директорії сайту:
Як правило, файл розміщений в кореневій директорії сайту:

Щоб потрапити в кореневу папку сайту, ви можете використовувати кілька способів:

  • Файловий менеджер хостингу;
  • Підключитися через FTP клієнт;
  • Використовувати SSH доступ.

Після знаходжень файлу достатньо натиснути на нього правкою кнопкою:
Після знаходжень файлу достатньо натиснути на нього правкою кнопкою:

І вибрати редактіврованіе.

Важливо рекомендації якщо ви вперше проводите зміни файлу, збережіть вихідну версію файлу. Неправильне налаштування файлу може порушити працездатність сайту. Часто, такі маніпуляції закінчуються зверненням до програміста.

Отже, ми вже знайшли файл, відкрили його. Тепер ми можемо налаштувати 301 редирект. htaccess. Ми підготували 14 прикладів найбільш частого використання 301 редіректу.

Практичні приклади:

- Переведення з однієї статичної сторінки на іншу

Якщо вам необхідно встановити редирект з однієї сторінки на іншу - використовуйте даний код:

Приклад простого 301 редиректу:

Redirect 301 / page1 http://www.yousite.com/page2
* Сторінку, на яку йде переадресація повинна бути вказана через повний URL адресу.

або:

RewriteRule ^ page1 / page2 / $ 1 [R = 301, L]

Якщо ви виявили биту посилання на своєму сайті - ви можете перенаправити користувача на іншу сторінку за допомогою установки 301 редиректу.

Корисний матеріал по темі: Перевірка битих посилань: 8 способів для пошуку

- С без WWW на WWW / с WWW на без WWW

з WWW на без WWW: Варіант 1

RewriteEngine on
RewriteCond% {HTTP_HOST} ^ www \ .yousite \ .com $ [NC] RewriteRule ^ (. *) $ Http: // yousite.com / $ 1 [R = 301, L]

Варіант 2

RewriteEngine on
RewriteCond% {HTTP_HOST} ^ www \. (. *) [NC] RewriteRule ^ (. *) $ Http: //% 1 / $ 1 [R = 301, L]

варіант 3

RewriteEngine on
RewriteCond% {HTTP_HOST}! ^ Yousite \ .com $ [NC] RewriteRule ^ (. *) $ Http: // yousite.com / $ 1 [R = 301, L]

Для HTTPS-версії:

RewriteCond% {SERVER_PORT} ^ 80 $ [OR] RewriteCond% {HTTP} = on
RewriteRule ^ (. *) $ Https://yousite.com/$1 [R = 301, L]

без WWW на WWW:

Варіант 1

RewriteEngine on
RewriteCond% {HTTP_HOST} ^ yousite.com $ [NC] RewriteRule ^ (. *) $ Http: // www. yousite.com / $ 1 [R = 301, L]

Варіант 2

RewriteEngine on
RewriteCond% {HTTP_HOST}! ^ Www \. (. *) [NC] RewriteRule ^ (. *) $ Http: //www.%1/$1 [R = 301, L]

- З http на https / с https на http

з http на https:

RewriteCond% {HTTP: X-HTTPS}! 1
RewriteRule ^ (. *) $ Https: //% {HTTP_HOST} / $ 1 [R = 301, L]

з https на http:

Redirect HTTPS to HTTP
RewriteCond% {HTTP: X-Forwarded-Proto} = https
RewriteRule ^ (. *) $ Http: //% {HTTP_HOST}% {REQUEST_URI} [L, R = 301]

- Редірект з одного домену на інший

Якщо ви вирішили змінити домен сайту і вам необхідно встановити 301 редирект зі старого на новий домен, скористайтеся кодом:

RewriteCond% {HTTP_HOST} ^ old-yousite \ .com $ [NC] RewriteRule ^ (. *) $ Http://www.new-yousite.com/$1 [R = 301, L]

- Редірект на піддомен

RewriteEngine On
RewriteBase /
RewriteCond% {HTTP_HOST} ^ (. +). Yousite.com $
RewriteRule (. *) Http: // yousite.com / $ 1? Region =% 1 [L, R = 301, QSA]

- Постранічний редирект

Найчастіший випадок використання 301 редіректу - це зміна домену сайту. Якщо ви проводите переїзд сайту на новий домен - вам обов'язково потрібно налаштувати посторінковий 301 редирект, давайте розберемося, як це зробити.

Постраничное перенаправлення настрівается також, як і редіректи з WWW на без WWW.

Варіант 1.

Використовуйте готовий код:

RewriteCond% {HTTP_HOST} ^ oldyousite \ .com
RewriteRule ^ (. *) $ Http://newyousite.com/$1 [R = 301, L] RewriteCond% {HTTP_HOST} ^ www.oldyousite \ .com
RewriteRule ^ (. *) $ Http://newyousite.ru/$1 [R = 301, L]

Варіант 2.

Згенеруйте код для вставки через цей сервіс:
Згенеруйте код для вставки через   цей   сервіс:

Введіть адресу старого і нового домену і виберете 2 опції, які відображені на скріншоті. Після чого скопіюйте код і додайте його в файл .htaccess і збережіть зміни.

- Перенаправлення зі сторінки /index.php на головну сторінку

RewriteEngine On
RewriteCond% {THE_REQUEST} ^ [AZ] {3,9} \ / index \ .php \ HTTP /
RewriteRule ^ index \ .php $ http: // yousite.com / [R = 301, L]

- Редірект на головну

Буває, що є необхідність розмістити редирект з усіх сторінок одного домену на головну сторінку іншого домену, використовуйте цей код:

RewriteCond% {REQUEST_URI} (. *)
RewriteRule ^ (. *) $ Http://yousite.com/ [L, R = 301]

- Редірект на сторінку 404 помилки

Якщо необхідно встановити редирект з 404 помилки на конкретну встановлену сторінку, налаштування даний код:

ErrorDocument 404 /404.html

Корисна інформація по темі: Помилка 404: що означає, як знайти і налаштувати

- Редірект зі сторінок без / на сторінку зі / і навпаки

З про сторінок без / на сторінки з /:

Зверніть особливу увагу на цей редирект для уникнення появи дублікатів сторінок (пошукова система сприймає 1 сторінку зі слешем в кінці URL-адреси, і без слеші - як 2 окремі сторінки ), Щоб цього уникнути, використовуйте редирект:

приклад:

  • yousite.com/page1/
  • yousite.com/page1

Видалення слеша в кінці URL-a:

RewriteEngine On
RewriteCond% {REQUEST_FILENAME}! -D
RewriteRule ^ (. *) / $ / $ 1 [L, R = 301]

Додавання слеша в кінці URL-a:

RewriteCond% {REQUEST_FILENAME}! -F
RewriteRule ^ (. * [^ /]) $ / $ 1 / [L, R = 301]

Також ви можете скористатися даними сервісом для генерації потрібного коду:
Також ви можете скористатися   даними   сервісом для генерації потрібного коду:

- Редірект на мобільну версію сайту

Якщо ваш сайт працює на CMS, швидше за все у вас не буде необхідності вручну налаштовувати даний редирект, якщо ж ваш сайт самопісний - він буде корисний.

RewriteEngine On
RewriteCond% {HTTP_ACCEPT} "text \ / vnd \ .wap \ .wml | application \ / vnd \ .wap \ .xhtml \ + xml" [NC] RewriteCond% {REQUEST_URI} ^ / $
RewriteRule ^ http: //m.yousite.com% {REQUEST_URI} [R, L]

- Зміна розширення файлу c .php на .html

Часто, така необхідність виникає при зміна системи управління контентом (CMS), в такому випадку, використовуйте наступний редирект:

RedirectMatch 301 (. *) \. Php $ http: //www.yousite.com$1.html

Чи навпаки:

RedirectMatch 301 (. *) \. Html $ http: //www.yousite.com$1.php

Якщо ж вам потрібно прибрати, а не замінити розширення, наприклад .html з url (для видалення .php потрібно замінити $ 1.html на $ 1.php):

RewriteRule ^ (([^ /] + /) * [^.] +) $ /$1.html [L]

- Масовий редирект для категорії

Якщо категорія була перейменувала, але в ній були тисячі товарів (або публікацій) - використовуємо код нижче, щоб не прописувати перенаправлення для кожної сторінки окремо:

RewriteRule ^ (. *) / Old-category /(.*)$ $ 1 / new-category / $ 2 [R = 301, L]

Якщо категорія йде відразу після імені сайт (yousite.ru/category/), в такому випадку використовуємо:

RewriteRule old-category /(.*) / old-category / $ 1 [R = 301, L]

- Редірект для URL з параметрами

Наприклад, вам потрібно встановити редирект з http://yousite.com/page.php?sort=size. Параметр тут «sort = articles». Код буде наступним:

RewriteCond% {QUERY_STRING} sort = size
RewriteRule. * Http://yousite.com/page.php? [R = 301, L]

Htaccess?
Com / $ 1?
Php?
Php?


Новости
  • Виртуальный хостинг

    Виртуальный хостинг. Возможности сервера распределяются в равной мере между всеми... 
    Читать полностью

  • Редизайн сайта

    Редизайн сайта – это полное либо частичное обновление дизайна существующего сайта.... 
    Читать полностью

  • Консалтинг, услуги контент-менеджера

    Сопровождение любых интернет ресурсов;- Знание HTML и CSS- Поиск и обновление контента;-... 
    Читать полностью

  • Трафик из соцсетей

    Сравнительно дешевый способ по сравнению с поисковым и контекстным видами раскрутки... 
    Читать полностью

  • Поисковая оптимизация

    Поисковая оптимизация (англ. search engine optimization, SEO) — поднятие позиций сайта в результатах... 
    Читать полностью