Podstawą nawigacji w Internecie są hiperłącza. Na nich użytkownicy przechodzą ze strony na stronę, z witryny na witrynę. Zazwyczaj to użytkownik decyduje, kiedy dokonać przejścia. Czasami jednak po wykonaniu określonych czynności na stronie trzeba automatycznie przekierować użytkownika na inną stronę w serwisie lub nawet do innego zasobu.
Czy to jest to konieczne
- - możliwość edycji skryptów serwisu;
- - możliwość edycji plików.htaccess;
- - możliwość zmiany szablonów stron;
- - możliwość zmiany kodu html stron.
Instrukcje
Krok 1
Przekieruj użytkownika do innego zasobu, dodając pole Lokalizacja do nagłówka odpowiedzi HTTP serwera. Zmodyfikuj skrypty systemu zarządzania treścią lub skonfiguruj serwer (np. aktywując moduł ModRewrite Apache i dodając odpowiednie dyrektywy do pliku.htaccess) tak, aby pole Location znajdowało się w nagłówku tam, gdzie jest to konieczne.
Zawartość pola Location nagłówka odpowiedzi HTTP serwera musi być bezwzględnym identyfikatorem URI zasobu, do którego następuje przekierowanie. W większości przypadków programy użytkownika natychmiast pobierają dane określonego zasobu, nawet jeśli kod odpowiedzi serwera wskazuje, że wiadomość ma treść. Jednak wykonując przekierowanie warto ograniczyć się do wysłania tylko nagłówka odpowiedzi zawierającego tylko pole status z poprawnym kodem oraz pole Location.
Wybierz kod odpowiedzi z zakresu wartości 301-103 zgodnie z RFC 2616. Utwórz minimalny nagłówek i przekaż go do agenta użytkownika. Na przykład w PHP kod generowania nagłówka może wyglądać tak
nagłówek („HTTP / 1,0 303”);
nagłówek („Lokalizacja:
Pamiętaj, że korzystając z ModRewrite, możesz również wybrać preferowany kod odpowiedzi.
Krok 2
Przekieruj użytkownika za pomocą metatagu z atrybutem http-equiv ustawionym na odświeżanie. Metatagi są dodawane do sekcji HEAD dokumentu. Treść atrybutu content tego znacznika musi być ciągiem składającym się z liczby określającej opóźnienie (w sekundach) przed przekierowaniem oraz identyfikatora URI zasobu docelowego (bezwzględnego lub względnego), oddzielonego od liczby przecinkiem. Na przykład, aby przekierować użytkownika 10 sekund po załadowaniu strony, możesz użyć następującego kodu:
Podobna technika jest często używana do tworzenia stron powitalnych, które pojawiają się po wykonaniu przez użytkownika określonych czynności (na przykład strona posta po opublikowaniu odpowiedzi na forum).
Krok 3
Zaimplementuj przekierowanie za pomocą skryptu po stronie klienta. Użyj możliwości zmiany właściwości lokalizacji obiektów okna i dokumentu. Najprostszy przykład kodu HTML, który definiuje fragment kodu JavaScript osadzony w dokumencie, może wyglądać tak:
document.location = "https://codeguru.ru";
Wskazane jest połączenie tej metody przekierowania z opisaną w drugim kroku poprzez zmianę właściwości location w funkcji obsługi zdarzeń timera.