Przekierowanie URL

Przekierowanie URL – technika polegająca na automatycznym poinformowaniu przeglądarki WWW, że ma odświeżyć stronę o innym adresie po wpisaniu danego adresu URL. Technika stosowana przy skracaniu adresów internetowych oraz przenoszeniu strony pod inny adres tak, by stary adres dalej działał.

Techniki

Przekierowanie za pomocą metataga Refresh

Dokument HTML prezentujący tę metodę:

<html><head>
  <meta http-equiv="Refresh" content="0;url=http://www.example.com/" />
</head><body>
  <p>Przejdź pod ten <a href="http://www.example.com/">link</a>!</p>
</body></html>
  • Liczba 0 to czas w sekundach jaki strona ma się wyświetlać. Można ją dowolnie zmienić.
  • Prośba o przejście pod podany link jest tylko dla właścicieli starszych przeglądarek, które nie obsługują tego metataga.
  • Jest to prosta metoda, ponieważ wymaga tylko dostępu do dokumentu HTML, nie trzeba znać PHP.

Przekierowanie w JavaScript

<script language="JavaScript" type="text/javascript">
location.href="example.php";
</script>

Przekierowanie za pomocą ramek

Przykład:

<frameset rows="100%">
  <frame src="http://www.example.com/">
</frameset>
<noframes>
  <body>Please follow <a href="http://www.example.com/">link</a>!</body>
</noframes>

Dzięki takiemu użyciu wyświetli się strona spod nowego adresu, ale w pasku przeglądarki adres się nie zmieni.

Kody statusu strony 3xx

Protokół HTTP definiuje następujące przekierowania:[1]

  • 300 multiple choices — kilka możliwości, zwykle ta sama strona w różnych językach.
  • 301 moved permanently — przekierowanie na stałe
  • 302 found - tymczasowe przekierowanie adresu URL
  • 303 see other - przekierowanie metodą POST
  • 304 not modified - nie zmieniono od ostatniej wizyty
  • 305 use proxy.- dostęp przez proxy
  • 307 Temporary Redirect — czasowe przekierowanie

By użyć przekierowania Serwer musi wygenerować taki nagłówek:

HTTP/1.1 301 Moved Permanently
Location: http://www.example.org/
Content-Type: text/html
Content-Length: 174

Można go uzyskać przy użyciu np. PHP, tworząc plik zawierający:

<?php
header('HTTP/1.1 301 Moved Permanently');
header('Location: http://www.example.org/');
header('Connection: close');
exit();
?>

Przekierowanie 301 jest bardzo ważne w SEO, ponieważ przekierowuje ono 'moc' linków kierującą na starą stronę na nową stronę. Dzięki czemu pozycja w Google nie spada po przeniesieniu strony pod nowy adres.

Przekierowanie za pomocą .htaccess

Takie przekierowanie (dokładnie z kodem 301) można także zrobić za pomocą .htaccess:

Redirect 301 / http://www.example.com/

Przypisy

  1. HTTP/1.1: Status Code Definitions, www.w3.org [dostęp 2017-11-26].

Media użyte na tej stronie

REF new (questionmark).svg
Autor: Sławobóg, Licencja: LGPL
Icon for missing references