Приветствую вас, на сайте Impuls-web.ru!
Php редирект позволяет при помощи небольшого скрипта перенаправить посетителя сайта на любую страницу или сайт, причём передать не только адрес новой страницы, но и состояние соединения. При этом вы можете добавить скрипт php редиректа в любой файл шаблона вашей темы.
Навигация по статье:
Ситуации для которых вам может понадобиться такой редирект могут быть разными. Например, вам нужно осуществить перенаправление со всех страниц с товарами или со статьями на какую то страницу с акцией или формой регистрации или ещё куда то, при этом на всех остальных страницах редиректа быть не должно. Делать такой редирект в .htaccess или при помощи скрипта путём перебора всех ссылок будет не очень удобно, особенно если товаров или статей много, а при помощи php вы сможете настроить перенаправление буквально при помощи двух строк кода.
Так же могут быть ситуации, когда редирект нужно произвести внутри php файла после какого-то действия пользователя или выполнения определённого условия.
Как настроить редирект php?
- 1 Открываем php файл шаблона, для которого нужен редирект.
Если нужно настроить перенаправление со всех страниц сайта, то для большинства движков это будет шаблон header.php, для страниц товаров это может быть шаблон product.php или single.php или другой, в зависимости от используемого движка и так далее. - 2 Вставляем фрагмент кода для редиректа:
123<?phpheader('Location:http://site.ru/');?>
Вместо http://site.ru/ указываете свой адрес.
Вот пример не правильной вставки:
1 2 3 4 5 |
<?php get_template_part( 'content', 'single' ); <?php header('Location: http://site.ru/'); ?> ?> |
В таком фрагменте кода php скобки должны использоваться только один раз:
1 2 3 |
<?php get_template_part( 'content', 'single' ); header('Location: http://site.ru/'); ?> |
PHP редирект на другую сраницу через заданное время
- 1 Точно так же открываем нужный файл шаблона.
- 2 Вставляем следующий код, внимательна следя за тем чтобы не повторялись php скобки.
123<?phpheader('Refresh: 5; url=http://site.ru/uslugi/');?>В Refresh задаётся время в секундах через которое произойдёт перенаправление.
В url задаётся адрес страницы для редиректа.
301 редирект на php
В случае, когда нам нужно не просто перенаправить посетителя, а ещё и передать код состояния можно использовать такой код:
1 2 3 |
<?php header( 'Location: http://site.ru/', true, 301 ); ?> |
Или вот такой вариант перенаправления в 2 этапа:
1 2 3 4 |
<?php header('HTTP/1.1 301 Moved Permanently'); header('Location: http://site.ru/'); ?> |
Редирект php с использованием html
Может возникнуть ситуация, когда вам нужно будет выполнить редирект при помощи html в php скрипте.
Для этого используем этот код:
1 2 3 |
<?php echo '<meta http-equiv="refresh" content="0;URL=http://site.ru/portfolio/">'; ?> |
Вместо http://site.ru/portfolio/ пишем свой адрес.
Такой редирект будет работать чуть медленнее чем предыдущие варианты.
Если у вас будут какие то вопросы по данной теме – задавайте их в комментариях!
Спасибо что посетили мой сайт! Если вам помогла моя статья, пожалуйста, поделитесь ею в одной из соцстей, нажав на одну из кнопок ниже или оставьте комментарий.
Успехов вам и процветания!
С уважением Юлия Гусарь
Недавно только нужна была такая идея в одном заказе. В сети лазил и ничего путевого не нашел. Спасибо, Юлия
С меня шоколадка
Спасибо, Сергей!
Проверил на реальном примере, работает (:good:)