Przekierowanie URL

Z Wikipedii, wolnej encyklopedii

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[edytuj | edytuj kod]

Przekierowanie za pomocą metataga Refresh[edytuj | edytuj kod]

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[edytuj | edytuj kod]

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

Przekierowanie za pomocą ramek[edytuj | edytuj kod]

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[edytuj | edytuj kod]

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 temu pozycja w Google nie spada po przeniesieniu strony pod nowy adres.

Przekierowanie za pomocą .htaccess[edytuj | edytuj kod]

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

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

Przypisy[edytuj | edytuj kod]

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