Зовсім недавно, в зв'язку з оснащенням сайту клієнта системою управління. мені треба було зробити редирект зі старих сторінок сайту на нові. Все можна було залишити як є, але необхідно мені це було тому, що дані сторінки сайту мали 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
Будуть питання, пишіть.