Тарифы Услуги Сим-карты

Как перенаправить на страницу php. Как в PHP задать редирект на другой URL до загрузки страницы

12:06 pm - Как перенаправить пользователя на другую страницу?

Есть несколько решений:
1) javascript
2) HTML
3) php
4) .htaccess

1) вот пример кода на языке javascript:

Type="text/javascript">

Вам только нужно создать файл index.htm (или index.html или index.php -- ОДИН из них! это важно) и поместить код в него, предварительно заменив http://www.mysite.com/ на адрес вашего сайта.
Можно указывать путь к папке или прямо на файл, например http://www.mysite.com/cat/file.php

Браузер пользователя будет немедленно* перенаправлен на указанную вами страницу.
*если браузер поддерживает перенаправление. сейчас практически все браузеры поддерживают перенаправление, разве что если браузер хитро настроен самим пользователем =)

Чтобы перед перенаправлением показать пользователю какое-то сообщение, воспользуйтесь другой версией скрипта:

type="text/javascript"> Сейчас вы будете перемещены!

%Если Ваш браузер не поддерживает перенаправление, нажмите сюда: %СЮДА

http://somesite2.com/ -- замените на адрес вашего сайта.

2) Чтобы перенаправить браузер пользователя средствами HTML, используйте тег META:

http://www.blahblahblahsite.com/ -- замените на адрес вашего сайта
10 - означает, что браузер будет перенаправлен через 10 секунд.
Ставьте 0 для немедленного перенаправления.
Если ставите таймаут, то в файле, в можете оставить сообщение пользователю, например:

Через 10 секунд вы будете перемещены!

Если Ваш браузер не поддерживает перенаправление, нажмите сюда: %СЮДА

3) Немедленное пренаправление с помощью PHP:

http://myownsite.com/folder/ -- замените на свой адрес сайта или страницы.
Код должен быть помещен в файл с расширением.php, например index.php

4) Немедленное пренаправление с помощью.htaccess:

Как и любая программа, веб-сервер имеет определенные настройки. Но, у вас, как пользователя Апача может и не быть прав менять конфигурацию Апача через его главные файлы, действие которых распространяется на всех пользователей этого сервера. Но, вы можете менять некоторые конфигурационные файлы, который распространяют свое действие только на ваш сайт. Один из таких файлов – .htaccess

Это файл гибкой настройки веб-сервера Апач. «Гибкий» обозначает, что как только вы поменяли что-то в этом файле, изменения тут же вступают в силу. Фактически, цель.htaccess файлов заключается в предоставлении средств для настройки Apache для пользователей, которые не могут изменить основной конфигурационный файл httpd.conf (этот файл является главным конфигурационным файлом сервера Апач и его действия распространяются полностью на всех пользователей данной копии Апача).

Этот файл не доступен веб-пользователю из браузера. Если файл.htaccess расположен в корневой директории сервера, то его действия распространяется на весь сервер, кроме тех папок, где находится другой файл.htaccess (и кроме всех папок "ниже" этой папки со вторым.htaccess).

Конфигурация файла.htaccess может помочь вам в разных ситуациях, но даже малейшая ошибка синтаксиса (например, отсутствие пробела там, где это нужно) может привести к тому, что содержания вашего сайта может некорректно отображаться или не отображаться вообще. Так как.htaccess это скрытый системный файл, пожалуйста, убедитесь, что ваш FTP-клиент настроен на отображение скрытых файлов.

Создайте пустой текстовый файл с помощью текстового редактора, например Блокнота, и сохраните его как htaccess.txt. Причина, по которой необходимо сохранить файл в htaccess.txt в том, что многие операционные системы и FTP приложения не могут читать.htaccess файлы по умолчанию. После загрузки на сервер, вы можете переименовать файл в.htaccess.

Перенаправление всего сайта на любой другой домен (например, example.net перенаправлен на example.com).

Предположим, что вы хотите, чтобы пользователям, которые переходят на страницу https://example.com/initial.php отображалась страница https://example.com/final.php . Это можно сделать с помощью несколько методов PHP , JavaScript и HTML . В этой статье мы расскажем о каждом из методов, которые можно использовать для PHP перенаправления на другую страницу.

Вот несколько переменных, которые мы будем использовать:

Использование функции PHP header() для редиректа URL-адреса

Если хотите добавить редирект с initial.php на final.php , можно поместить на веб-странице initial.php следующий код. Он отправляет в браузер новый заголовок location :

Здесь мы используем PHP-функцию header() , чтобы создать редирект. Нужно поместить этот код перед любым HTML или текстом. Иначе вы получите сообщение об ошибке, связанной с тем, что заголовок уже отправлен. Также можно использовать буферизацию вывода, чтобы не допустить этой ошибки отправки заголовков. В следующем примере данный способ перенаправления PHP показан в действии:

Чтобы выполнить переадресацию с помощью функции header() , функция ob_start() должна быть первой в PHP-скрипте . Благодаря этому не будут возникать ошибки заголовков.

В качестве дополнительной меры можно добавить die() или exit() сразу после редиректа заголовка, чтобы остальной код веб-страницы не выполнялся. В отдельных случаях поисковые роботы или браузеры могут не обращать внимания на указание в заголовке Location . Что таит в себе потенциальные угрозы для безопасности сайта:

Чтобы прояснить ситуацию: die() или exit() не имеют отношения к редиректам. Они используются для предотвращения выполнения остальной части кода на веб-странице.

При PHP перенаправлении на страницу рекомендуется использовать абсолютные URL-адреса при указании значения заголовка Location . Но относительные URL-адреса тоже будут работать. Также можно использовать эту функцию для перенаправления пользователей на внешние сайты или веб-страницы.

Вывод кода JavaScript-редиректа с помощью функции PHP echo()

Это не является чистым PHP-решением . Тем не менее, оно также эффективно. Вы можете использовать функцию PHP echo() для вывода кода JavaScript , который будет обрабатывать редирект.

Если воспользуетесь этим решением, то не придется использовать буферизацию вывода. Что также предотвращает возникновение ошибок, связанных с отправкой заголовков.

Ниже приводится несколько примеров, в которых использованы разные методы JavaScript для редиректа с текущей страницы на другую:

Единственным недостатком этого метода перенаправления на другой сайт PHP является то, что JavaScript работает на стороне клиента. А у ваших посетителей может быть отключен JavaScript .

Использование метатегов HTML для редиректа

Также можно использовать базовый HTML для выполнения редиректа. Это может показаться непрофессиональным, но это работает. И не нужно беспокоиться о том, что в браузере отключен JavaScript или ранее была отправлена ошибка заголовков:

Также можно использовать последнюю строку из предыдущего примера, чтобы автоматически обновлять страницу каждые «n » секунд. Например, следующий код будет автоматически обновлять страницу каждые 8 секунд:

Заключение

В этой статье я рассмотрел три различных метода перенаправления с index php , а также их преимущества и недостатки. Конкретный метод, который стоит использовать, зависит от задач проекта.

Перевод статьи «How can I do a redirect to different url before page load in PHP » дружной командой проекта .

Хорошо Плохо

Как часто вам нужно переадресовать пользователя на другую страницу? Уверен, не редко. Для осуществления этой задачи используются несколько способов.

Переадресация на javascript

На странице, с которой вы хотите перенаправить пользователя, установите следующий код:

window.location.href = "http://www.сайт"

Вместо http://www.сайт укажите страницу, на которую следует переадресовать пользователя. Способ не работает, если в браузере не включен javascript. Но, как показывает практика, javascript всключён почти у всех пользователей сайта. Но при этом отключён у поисковых ботов.

Переадресация с помощью meta-тега refresh

Воспользуемся html тегами. Тег, указывающий на время обновления страницы, выглядит так:

Тег в таком виде заставит обновить страницу в браузере через 5 секунд, заменив адрес страницы на новый, указанный в теге.
Но нас 5 секунд не устраивают, поэтому окончательный вариант тега будет таковым:

< meta http-equiv = "refresh" content = "0;url=http://www.сайт" />

Минусом переадресации тегами и javascript является то, что в случае переезда сайта, смены домена, или перемещении файлов, статья для пользователя остаётся той же, а для поисковых систем — нет. Поэтому при переезде сайта категорически нельзя использовать эти методы, так как основной сайт выпадет из результатов поиска из-за своей пустоты, а новый сайт не попадёт в результаты из-за «плагиата». Да, да, поисковые системы оценят сайт как плагиатчик. И этот сайт украл содержание с вашего предыдущего сайта. Плагиатчики значительно опускаются в результатах поиска. Не делайте ошибок.

Переадресация средстави php

Здесь всё просто. Нужно отправить соответствующий http заголовок

Печальный опыт говорит, что нельзя пренебрегать статусами сервера.
Одна из моих статей часто встречалась в выдаче у поисковиков. Но вздумалось мне перенести её на другой адрес. В результате адрес А сменился на адрес Б. При этом я никаких заголовков для посетителей адреса А не отсылал. Спустя какое-то время поисковые боты нашли и страницу Б. Проиндексирвоали её, увидели, что она совпадает со страницей А, проигнорировали её. Потом зашли на страницу А, увидели, что она исчезла, удалили её из собственной базы.
В результате моя статья выпала из выдачи поисковиков.

Поэтому не забывайте при переносе материалов указывать нужные http заголовки.

Переадресация средствами сервера apache (.htaccess)

Пожалуй, самый удобный способ переадресации. Пример редиректа на новый домен:

Таким образом мы перенаправляем запрос с файла old.htm , лежащего в корневой директории сайта, на файл rewrite.html, лежащий в директории newcategory.

Как вы уже успели заметить (а кто не успел, у того ещё есть последний шанс), RewriteRule поддерживает регулярные выражения, что позволяет творить с переадресацией что угодно.
Например, я делал файл.htm изображением (RewriteRule ^(.*).htm$ $1.jpg) , т.е. с адреса dog.htm браузер перекидывал меня на картинку dog.jpg. Я не хочу расписывать все возможности модуля mod_rewrite, с чьей помощью мы сейчас работали. Об этом написано немало уроков, но, если хотите, можете сами поискать дополнительную информацию об этом. (Например, на , правда, на английском языке.)

Преимуществом этого способа является его безболезненность. То есть перенос материалов и последующая переадресация со старого адреса на новый никак не отразятся на позиции сайта в поисковых системах. Система работает так же, как и переадресация на php, за исключением того, что она не требует установленного php. Но есть и минус: переадресация через mod-rewrite нагружает сервер немного сильнее, чем такая же переадресация через php. Да и модуль mod-rewrite не всегда бывает установлен на apache. Хотя сейчас большинство хостеров и ставят его, продолжают встречаться единичные клинические случаи, когда этот модуль не установлен.

Выбирайте способ, который вам больше подходит, и устанавливайте его на сайт!

Быстрая навигация по этой странице:

Если вы решили написать скрипт и сделать редирект PHP, преимущества этого шага очевидны: PHP – серверно ориентированный язык скриптов; перенаправление будет выполняться посредством скрипта на сервере, а не в браузере посетителей. Некоторые перенаправления могут быть выполнены на стороне клиента — через редирект js (то есть через JavaScript редирект).

Это более гибкий и универсальный подход, и вы можете выполнить несколько типов редиректа в PHP, в отличие от других методов. Вот — наиболее частые виды редиректа, которые можно сделать в PHP: a) 301 редирект PHP (статус постоянного перенаправления), b) 302 редирект PHP (временный статус переадресации), с) Обновление.

Эта статья будет полезна, в первую очередь, для начинающих веб-мастеров, которые ищут способы реализации перенаправления URL, если это не возможно с использованием других распространенных решений, таких как Htaccess.

Заголовок языка PHP функции

Например, предположим, вы хотите сделать редирект к этому URL http://www.somewebsite.com/target.php. В исходном PHP страницы, Вам просто следует вызвать этот скрипт редиректа:

Попробуйте также провести этот простой эксперимент на вашем локальном хостинге:

1) Откройте текстовый редактор и введите этот код:

Сохраните его как targetpage.php.

2) Откройте другой пустой текстовый файл и введите этот код:

Сохраните его как originatingpage.php.

3) Теперь запустите веб-браузер. В адресной строке браузера введите: http://localhost/originatingpage.php

4) Вы заметите, что после нажатия кнопки ввода, этот URL: http://localhost/originatingpage.php делает редирект на http://localhost/targetpage.php и на targetpage.php, и вы видите слова «Hi this is codex-x».

Одна из самых распространенных ошибок может крыться в оформлении кода html редиректа:

Попробуйте выполнить этот эксперимент:

Перейдите к скрипту originatingpage.php и добавьте любой HTML тег:

header(‘Location: http://localhost/targetpage.php’);

Предположим, у вас есть такой код:

Это – ошибка редиректа