- Разбираем все виды редиректов (html, js, php, htaccess)
- Редирект в HTML
- Редирект в JavaScript
- Редирект в PHP
- Редирект в .htaccess (RewriteEngine)
- Редирект в Yii2
- How to Redirect from One page to Another in HTML on Button Click?
- Redirect using HTML Form Tag
- Syntax:
- Code:
- Redirect using HTML Anchor Tags
- Syntax
- Code:
- Using location.href and location.replace
- Syntax
- Code:
- Redirect to Another Page after Form Submit HTML
- How to Redirect to Another Web Page Using jQuery or JavaScript?
- Code:
- Conclusion
- How to Redirect a Web Page in HTML
- How to redirect to another URL
- Example of redirecting a web page:
- How to redirect to a new page without leaving the current page:
Разбираем все виды редиректов (html, js, php, htaccess)
Примеры редиректов или же перенаправлений на другую страницу.
Редирект в HTML
// Обновить страницу через 5 секунд: // Перенаправить на https://www.google.com через 5 секунд: // Перенаправьте на https://www.google.com немедленно:
Редирект в JavaScript
Метод replace() позволяет заменить одну страницу другой таким образом, что это замещение не будет отражено в истории просмотра HTML-страниц (history) браузера
location.replace("https://www.google.com"); document.location.replace("https://www.google.com");
Метод reload() полностью моделирует поведение браузера при нажатии на кнопку reload в панели инструментов. Если вызывать метод без аргумента или указать его равным true , то браузер проверит время последней модификации документа и загрузит его либо из кеша (если документ не был модифицирован), либо с сервера. Такое поведение соответствует нажатию на кнопку reload . Если в качестве аргумента указать false , то браузер перезагрузит текущий документ с сервера. Такое поведение соответствует одновременному нажатию на reload и кнопки клавиатуры shift (reload+shift) .
window.location.reload("https://www.google.com");
Следующие примеры тоже перенаправят на google:
location="https://www.google.com"; document.location.href="https://www.google.com";
С помощью функции setTimeout возможно реализовать задержку переадресации перед выполнением редиректа (в примере — 5 секунд):
setTimeout( 'location="https://www.google.com";', 5000 );
Простой пример редиректа с таймером:
Редирект в PHP
В php есть функция header() , которая разрешает не только подменять стандартные заголовки, но и добавлять новые.
// string - полностью сформированная строка заголовка, который необходимо добавить (без завершающего перевода строки "\n") // replace указывает, нужно ли заменять заголовки с одинаковыми именами (true), или же добавлять в конец (false) // http_response_code указывает код http-ответа (300, 301, 302 и т.д.) void header ( string string [, bool replace = true [, int http_response_code]] );
header( 'Refresh: 0; url=/error404.html' ); // переадресовать на страницу ошибки немедленно (без задержки) header( 'Refresh: 5; url=https://www.google.com/' ); // переадресовать на главную страницу Рамблера через 5 секунд после загрузки страницы. header( 'Location: /', true, 307 ); // перебросить на главную страницу сайта с использованием 307 редиректа. header( 'Location: /article/page.htm', true, 303 ); // с помощью 303 редиректа переадресовать на внутреннюю страницу сайта. header( 'Location: http://google.ru/search?q=redirect' ); // с помощью 302 редиректа переадресовывать на поиск в гугле слова redirect (При использовании Location без указания кода редиректа, по умолчанию используется 302-й). header( 'Location: http://yandex.ru/yandsearch?text=redirect', true, 301 ); // сделать переадресацию с помощью 301 редиректа на поиск в Яндексе слова redirect.
Второй вариант, аналогичный по смыслу, но может быть полезным, если установка кода и редирект должны осуществляться в разных местах:
header('HTTP/1.1 301 Moved Permanently'); header('Location: http://site.com/');
Первая строка указывает код http, а вторая, собственно, задает адрес. В большинстве случаев, проблем не возникнет. Однако, если у вас используется режим FastCGI , то вместо «HTTP/1.1 301 Moved Permanently» может потребоваться написать «Status: 301 Moved Permanently» .
Редирект в .htaccess (RewriteEngine)
Redirect [status] URL-path URL-to-redirect
Необязательный параметр status — это три цифры — код редиректа (например, 301). Если не указан, то по умолчанию подставляется 302.
URL-path — часть запрашиваемого пользователем (или поисковиком) адреса, которая должна обязательно начинаться со слеша (/)
URL-to-redirect — полный адрес сайта (и, возможно, часть пути), на который будет осуществляться редирект. Должен быть вида http://site.ru/ — то есть обязательно должен присутствовать протокол (http://) и закрывающий адрес сайта слеш (/).
Если URL-path заканчивается не слешем, то редирект будет срабатывать только в случае точного совпадения запрошенного пользователем адреса и URL-path .
Если URL-path заканчивается слешем, то редирект сработает не только для указанного адреса, но и для всех, которые начинаются на указанный. А к URL-to-redirect будет добавлена часть адреса, следующая за последним указанным слешем в URL-path .
Действие директивы RedirectMatch аналогично Redirect , но в параметрах URL-regexp и URL-to-redirect можно использовать регулярные выражения.
// должно быть включено (on) для работы RewriteRule RewriteEngine on RewriteRule URL-regexp URL-to-redirect [L,R[=status]]
У директивы RewriteRule более широкий спектр применения. Который, в числе прочих возможностей, разрешает ее использования и для редиректа — с указанием в конце строки в квадратных скобках [ ] флагов L (выполнить немедленно) и R (редирект).
Redirect / http://yandex.ru/yandsearch?text= # Выполнится 302 редирект (по умолчанию) на поиск в Яндексе символов, введенных в адресную строку после названия Вашего сайта. # То есть если посетитель введет http://ваш_сайт.ru/page, то браузер его перенаправит на http://yandex.ru/yandsearch?text=page Redirect 301 /hello.html http://google.ru/search?q=bye # В случае перехода на страницу http://ваш_сайт.ru/hello.html выполнится 301 редирект на поиск в Гугле фразы "bye". RedirectMatch (.*)\.jpg$ http://хостинг_для_картинок$1.jpg # "Временно" (по умолчанию действует 302 редирект) переадресовываем все запросы jpeg-картинок на какой-либо бесплатный хостинг # или то же самое, но с применением RewriteRule: RewriteEngine on RewriteRule (.*)\.jpg$ http://хостинг_для_картинок$1.jpg [L,R]
Редирект в Yii2
$this->registerMetaTag(['http-equiv' =>'Refresh', 'content' => '5; http://google.ru/']);
How to Redirect from One page to Another in HTML on Button Click?
Let’s say you are designing an e-commerce website. A user lands on the log-in screen and fills in their details. What do you think will happen once the system verifies their credentials? You need to redirect them to their dashboard screen.
Redirect means changing the URL and web page. For example, let’s say you are currently browsing a current page of a website having URL example.com/page-a. Now, let’s say you click a link or button and transfer to another web page of the same website having URL example.com/page-b. This is called redirecting. It is widely used on a website.
Add an Image depicting redirecting in HTML from one page to another. Sample Image
There are several ways in which you can redirect a user:
- The user can initiate redirecting in several ways.
- They can be redirected by clicking on a button or clicking on a link.
In this article, we will explore several ways on who to redirect from one page to another in HTML on a button click.
Redirect using HTML Form Tag
The first way through which you can redirect from one page to another is by clicking a button. You can use a form for this purpose. The form tag in HTML has an attribute action where you can give the URL of the webpage where you want the form button to redirect. The form tag also has another attribute method. Just set the method attribute to POST , which means you are sending the data, and mention the URL in the action attribute. Once you submit the form, it will redirect you to the particular URL and webpage corresponding to that URL.
Syntax:
Code:
Form tags are widely used when you wish to submit user data to the backend, such as during sign-up or log-in.
Redirect using HTML Anchor Tags
If you wish to redirect the user, then you can use the good old anchor tags in HTML. All you need to do is provide the reference or URL of the webpage you need the user to redirect.
Syntax
Code:
Using location.href and location.replace
Apart from using HTML, you can also use Javascript to redirect users to your website. Javascript provides pre-built functions that one can use for redirecting. You can use location.href and location.replace to redirect the user from one page to another.
Syntax
You can add an event listener such as onClick to simulate a button click for redirecting. The location.replace function replaces the current URL with the one you provide, while the location.href creates a link between two pages. This means that once you click on a button that redirects using replace function, you cannot navigate back to the original document using the back button.
Code:
Redirect to Another Page after Form Submit HTML
If you want the user to be redirected after they have submitted their details, then you can use form tags. The attributes of form tags action and method can be used to achieve this. The action attribute specifies the path to which the URL will be redirected once the form is submitted. The method attribute specifies the HTTP method that needs to be used when submitting the form.
After you have filled out the form and clicked submit, then you will be redirected to the dashboard section of the website.
How to Redirect to Another Web Page Using jQuery or JavaScript?
The window.location.href and window.location.replace functions can be used in JQuery as well. You can add an event listener to an element in HTML. Then, you can use the location.href or location.replace method for redirecting.
Code:
In the above code, you have added the event Listener click that will activate when you click on the button. It will activate the function redirectFunction that will use location.href function to redirect to another page.
Conclusion
- Redirecting refers to changing the URL of a website and the webpage associated with it when the user interacts with the website.
- This article explains how to redirect from one page to another in HTML on a button click.
- You can use form tags in HTML for redirecting. The action and method attributes can be used for redirecting to another page.
- Anchor tags can also be used for redirecting. You can specify the URL in the href attribute of anchor tags in HTML.
- Javascript and JQuery also provide support methods for redirecting. You can add event listener functions and call these methods to redirect the user to another page on the website.
How to Redirect a Web Page in HTML
To tell search engines and website visitors that your web page has permanently moved to a new location with an equivalent content use a 301 redirect. The code “301” is interpreted as “moved permanently”. (Learn more about HTTP Status Codes).
How to redirect to another URL
content="0; url='https://www.w3docs.com'" />
If you want your redirection to occur in an exact time, just specify your preferred parameter (in seconds) for the content . Let’s consider an example, where we set «7» seconds as redirection time.
Some browsers don’t render the refresh tag correctly, so before the next page loads, the user can see a flash as a page.
content="7; url='https://www.w3docs.com'" />
Some old browsers don’t refresh correctly when you add a quick link. In that case, you can add an anchor link to let the user follow.
Example of redirecting a web page:
html> html> head> meta http-equiv="refresh" content="7; url='https://www.w3docs.com'" /> head> body> p>You will be redirected to w3docs.com soon! p> body> html>
How to redirect to a new page without leaving the current page:
If you want to redirect to another website without leaving the current website and open a link that redirects to an HTML document, you can use the anchor tag with the «target» attribute set to «_blank». This will open the link in a new window or tab, while the current website remains open.
Here’s an example of how to use it:
html> html> head> title>Redirecting without leaving the current page title> head> body> a href="https://www.w3docs.com" target="_blank">Click here to go to W3docs.com a> body> html>
In this example, clicking on the link will open «https://www.w3docs.com» in a new window or tab, while the current website remains open.
If you want to redirect to an HTML document instead of a website, you can use the same method by setting the link’s href attribute to the path of the HTML document you want to redirect to.
In this example, clicking on the link will open «example.html» in a new window or tab while the current website remains open.
Learn more about redirecting web pages with JavaScript, PHP, Apache and Node.js.