Przekierowanie URL

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacji, wyszukiwania

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="stronka.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
  • 303 see other
  • 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[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