301 Редірект через

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

Для початку, я розповім про типові способи редиректу через htaccess. Інформація не претендує на унікальність, взята вона була звідси.

301 редирект www на без-www

Редирект всіх файлів в папці на один файл

Якщо вам більше не потрібен певний розділ сайту (наприклад new1) і потрібно перенаправити всі запити до папки (/ new1) на один файл /new.php

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

RewriteRule ^ new1 (. *) $ /new.php [L, R = 301]

У разі якщо потрібно перенаправити всі файли крім одного, наприклад:
всі файли з папки / new1 повинні редирект на файл /new.php, крім файлу /new1/photos.html, який повинен перенаправлятися на /new_photos.html, пишемо наступний код:

RewriteRule ^ new1 / photos.html /new_photos.html [L, R = 301]
RewriteRule ^ new1 (. *) $ /new.php [L, R = 301]

Редирект динамічного URL на новий файл

Якщо є необхідність зробити редирект динамічного URL на новий статичний файл

RewriteRule ^ article.jsp? Id = (. *) $ /news.htm [L, R = 301]

Редирект з допомогою директиви Redirect або RedirectPermanent модуля mod_alias

Для використання необхідно включити модулі mod_alias (для підтримки директив Redirect, RedirectPermanent і RedirectMatch) і / або mod_rewrite (для використання реврайта) в php.ini

Незважаючи на таке страшне назву, все просто.

У моєму випадку, як раз, було всього 4 файлу, які мені необхідно було перенаправляти. Причому були вони виду:

razdel / (як би індексна сторінка)
razdel / old-page1.html
razdel / old-page2.html
razdel / old-page3.html

Будуть питання, пишіть.

Дивіться також:

Схожі статті