Przekierowanie w .htaccess za pomocą :Location

Plik .htaccess może być wykorzystany również do innych popularnych operacji. Najczęściej w pliku .htaccess są opublikowane dyrektywy powodujące przekierowanie strony WWW (np. na inny zewnętrzny serwer lub inny plik na tym samym serwerze). Używając elementu :Location w treści pliku możemy obsłużyć wiele typów przekierowań.

WAŻNE! Zamiast ustawiania przekierowań za pomocą funkcji :Location, sugerujemy korzystanie z przekierowania typu 301, które jest najlepszym rozwiązaniem z punktu widzenia pozycjonowania danej strony WWW w wyszukiwarkach. Więcej informacji na temat ustawiania przekierowania 301 w pliku .htaccess znajdziesz pod tym adresem.

Przykład 1.

Przekierowanie lokalne – skierowanie z jednego pliku .html do drugiego w ramach tego samego katalogu.

:Location /stare.html
Redirect /nowe.html
:Location

Przykład 2.

Przykład dla przekierowania zewnętrzne (np. na adres URL, który znajduje się na zewnętrznym serwerze).

:Location /linki/znajomy
Redirect http://www.innyadres.pl
:Location

WAŻNE! Podczas używania funkcji :Location możesz skorzystać z poniższych parametrów:

  • permanent – zwraca status 301 – Moved Permanently oraz wykonuje przekierowanie,
  • temp – zwraca status 302 – Moved Temporarily oraz wykonuje przekierowanie,
  • seeother – zwraca status 303 – See Other,
  • forbidden – przekierowanie z błędem 403 – Forbidden,
  • notfound – przekierowanie z błędem 404 – Not Found,
  • gone – zwraca status 410 – Gone,
  • error – zwraca status 500 – Internal Error.

Przykład 3.

Przy odwołaniu się do katalogu „/stare_strony” zostanie wykonane przekierowanie z kodem 302 (Moved Temporarily) na katalog „/nowe_strony”. Poniższy wpis powinien zostać umieszczony w pliku .htaccess, który znajduje się w katalogu /stare_strony.

:Location /stare_strony/
Redirect temp /nowe_strony/
:Location

Przykład 4.

Zwraca błąd i przekierowuje na domyślną stronę błędu. Jeśli posiadasz skonfigurowaną własną stronę błędu, przekierowanie zostanie wykonane właśnie na tę stronę. Po parametrze notfound należy podać treść komunikatu w cudzysłowach, w przeciwnym wypadku zostanie wyświetlony komunikat 301 zamiast komunikatu błędu.

:Location /brak.html
Redirect notfound "nie ma takiego zasobu"
:Location

  • Czy artykuł był pomocny ?
  • Tak   Nie