Для управління веб-сервером і активації різних додаткових можливостей для кожної з директорій на сервері використовуються файли. Htaccess. У цих файлах можна визначати безліч опцій, які коректно зчитуються більшістю веб-серверів. Всі операції, які описуються в. Htaccess, обробляються саме на рівні сервера, тому неважливо, який клієнт використовується для доступу до вашого ресурсу — все буде працювати саме так, як ви задумали. Звичайно, вебмастеру рідко доводиться редагувати ці файли — як правило, ця робота покладається на адміністратора сервера.

Крім того, існують і інші способи управління, але про них нижче.301-redirect, редирект 301, як зробити 301 редирект

Однією з чудових можливостей, які реалізуються за допомогою файлів. Htaccess, є можливість безумовного перенаправлення, більш відомого як редирект 301. Для чого може знадобитися така можливість? Причин може бути декілька:

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

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

  • Переміщення окремих сторінок і розділів сайту на нові адреси.
  • Установка «Человекопонятние» посилань і адрес.

Загалом-то, можна придумати ще безліч прикладів використання 301 redirect, але, я думаю, суть і так зрозуміла. Давайте розглянемо, як зробити 301 редирект найпростішим способом — через. Htaccess або файл конфігурації веб-сервера. Для організації перенаправлення досить додати у файл наступний рядок:

Дана рядок перемістить користувача за вказаною адресою при зверненні на кожну зі сторінок сайту. Є й інші варіанти запису:

Має той же ефект, що і попередня. Для окремих сторінок і каталогів:

Подальшим розвитком можливостей редиректу 301 є робота з mod_rewrite. Так, для злиття адрес з www і без нього можна використовувати наступний синтаксис:

В останньому рядку так само допустимо використовувати запис виду [R = 301, L], яка буде мати той же ефект.

Для безпосереднього перенаправлення з одного домену на інший за допомогою mod_rewrite слід використовувати таку конструкцію:

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

Завдання перенаправлення в мові php вирішується за допомогою відправки заголовків, за допомогою яких браузер самостійно перейде на нову адресу. Єдина умова — перед відправкою заголовків на 301 редирект не повинно бути ніякого висновку — функцій echo і print. У загальному вигляді скрипт може виглядати так:

У цьому випадку так само зберігаються передані по посиланню параметри і зберігається адресу, тобто користувач навіть і не підозрює, що працює з іншим сайтом! Для сайтів, написаних на ASP і його підмножинах, використовується конструкція виду

Якщо придивитися, то можна помітити, що ці дії ідентичні для обох мов — і це не випадково, адже в даному випадку від імені користувача відправляються однакові заголовки. Якщо на вашому веб-сервері не дозволені жоден з скриптових мов, а редагування. Htaccess і файлу конфігурації веб-сервера заборонено, можна створити сторінку-заглушку для переадресації, але, звичайно, цей спосіб має суттєві обмеження — після переміщення сайту для збереження всіх позицій доведеться створювати подібні заглушки для кожної проіндексованої сторінки. Так буде виглядати код переадресації за допомогою html для головної сторінки сайту:

При цьому можна встановити час затримки переходу (в даному випадку — значення 0).

Сучасні браузери відстежують подібні конструкції і при високих налаштуваннях безпеки перехід може і не статися.

Альтернативою використанню html може послужити організація редиректу 301 з іспользвоаніем скриптового мови JavaScript. Існує цілих чотири варіанти зміни адреси і переходу по ньому, які працюють однаково ефективно (якщо JS, звичайно, включений):

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

Як бачите, у вас досить багато способів організації 301 redirect, при цьому кожен з них досить ефективний. Слід зазначити, що. Htaccess гарантовано працює на Linux-серверах з веб-сервером Apache, робота на інших серверах можлива, але не гарантується. Це — самий витратний по ресурсах спосіб, тому по можливості слід використовувати мови програмування або файл конфігурації сервера.

Тепер ви знаєте, що таке перенаправлення, і, я сподіваюся, в даній статті ви знайдете відповідний для вас відповідь на питання «як зробити 301 редирект».