KWALIFIKACJA INF3 - PAŹDZIERNIK 2016

PYTANIE NR 40.
Przekierowanie 301 służące przekierowaniu użytkownika z jednego adresu URL na inny można ustawić w pliku konfiguracji serwera Apache o nazwie
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Przekierowanie 301 (stałe) w Apache można zdefiniować w pliku konfiguracyjnym katalogu, czyli .htaccess, o ile serwer ma włączoną obsługę takich plików (AllowOverride). Pliki typu conf.php lub configuration.php to typowe nazwy plików aplikacji w PHP, a nie konfiguracji Apache.

Pełne wyjaśnienie:

Kod odpowiedzi HTTP 301 oznacza "Moved Permanently", czyli trwałe przeniesienie zasobu pod inny adres. W praktyce używa się go wtedy, gdy strona lub podstrona zmieniła URL i chcemy, aby przeglądarka oraz roboty wyszukiwarek zawsze przechodziły na nowy adres.

W serwerze Apache reguły przekierowań można definiować w konfiguracji serwera (np. dla hosta wirtualnego) albo – w wielu hostingach współdzielonych – w pliku .htaccess umieszczonym w katalogu serwowanym przez WWW. Ten plik jest specjalnym plikiem konfiguracyjnym Apache odczytywanym "per katalog" (o ile administrator na to pozwolił), dlatego to właśnie .htaccess jest poprawną odpowiedzią.

Dlaczego pozostałe propozycje są błędne? Nazwy conf.php i configuration.php sugerują pliki skryptów PHP. Takie pliki mogą przechowywać ustawienia aplikacji (np. dostęp do bazy), ale nie są standardowymi plikami konfiguracyjnymi Apache i nie powodują ustawienia przekierowania na poziomie serwera WWW. Z kolei .apacheConf nie jest typową, standardową nazwą pliku wykorzystywaną przez Apache do automatycznego wczytywania reguł dla katalogu.

Wskazówka egzaminacyjna: jeśli pytanie dotyczy Apache i konfiguracji "na hostingu" bez dostępu do plików serwera, najczęściej chodzi o .htaccess. Jednocześnie warto pamiętać, że w wielu nowoczesnych wdrożeniach obsługa .htaccess bywa wyłączana ze względów wydajności i bezpieczeństwa, a reguły przenosi się do konfiguracji vhost.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Przekierowanie 301 to stałe przekierowanie HTTP informujące, że zasób ma nowy, docelowy adres URL. Przeglądarka i wyszukiwarki powinny zapamiętać zmianę i kierować ruch na nowy adres, co jest ważne np. po zmianie struktury strony lub migracji domeny.
Na hostingu współdzielonym najczęściej robi się to w pliku .htaccess w katalogu strony, jeśli hosting na to pozwala. Wpis przekierowania dodaje się jako dyrektywę Apache (np. z modułu mod_alias) albo regułę przepisywania, zależnie od konfiguracji serwera.
.htaccess jest plikiem konfiguracyjnym Apache odczytywanym dla danego katalogu (per-directory). Umożliwia ustawienia bez edycji głównych plików serwera, co jest typowe w środowiskach, gdzie użytkownik nie ma dostępu do konfiguracji hosta wirtualnego.
Tak. Reguły 301 można ustawić także w konfiguracji serwera/hosta wirtualnego Apache. W wielu wdrożeniach to nawet preferowane rozwiązanie, bo bywa szybsze i łatwiejsze do kontrolowania. .htaccess jest wygodny głównie tam, gdzie nie ma dostępu do konfiguracji vhost.
301 stosuje się, gdy zmiana adresu jest trwała (np. stała migracja URL). 302 używa się przy przekierowaniach tymczasowych (np. krótka przerwa techniczna, testy A/B). W kontekście SEO i cache wybór ma znaczenie, bo 301 częściej jest utrwalane przez przeglądarki i roboty.
Częste błędy to: pętle przekierowań (URL przekierowuje sam na siebie), zbyt ogólne reguły obejmujące zasoby statyczne, brak zachowania ścieżki i parametrów, oraz konflikt kilku reguł w jednym pliku. Warto testować w trybie incognito i sprawdzać nagłówki odpowiedzi.
Powody to m.in.: wyłączona obsługa .htaccess na serwerze (ustawienia AllowOverride), błędna lokalizacja pliku, konflikt z innymi regułami lub cache przeglądarki/CDN. Pomaga sprawdzenie logów serwera oraz weryfikacja nagłówków odpowiedzi narzędziami deweloperskimi.
Zwykle leży w katalogu głównym serwisu (document root), ale może też występować w podkatalogach, jeśli potrzebne są różne reguły dla różnych części witryny. Ważne, aby był umieszczony w katalogu obsługiwanym przez Apache dla danej domeny.
Skrypt PHP może wysłać nagłówek 301 w odpowiedzi HTTP aplikacji, ale to inny mechanizm niż konfiguracja Apache. Pliki typu configuration.php nie są standardową konfiguracją serwera WWW. Na egzaminie rozróżniaj przekierowanie na poziomie serwera od przekierowania generowanego przez aplikację.
Najpewniej sprawdza się to przez podgląd nagłówków odpowiedzi (np. w narzędziach deweloperskich przeglądarki lub poleceniem typu klient HTTP). Szukasz statusu 301 oraz nagłówka Location wskazującego adres docelowy przekierowania.
info

Około 65% zdających odpowiada poprawnie na to pytanie. średnie

W praktyce zawodowej kluczowe jest to, że przekierowanie 301 (stałe) w Apache można zdefiniować w pliku konfiguracyjnym katalogu, czyli .htaccess, o ile serwer ma włączoną obsługę takich plików (AllowOverride).

Źródła:

  • Apache HTTP Server Documentation: "Configuration Files" (sekcja o plikach .htaccess i dyrektywie AllowOverride) https://httpd.apache.org/docs/2.4/configuring.html - dostęp 2026-02-27
  • Apache HTTP Server Documentation: "htaccess" (opis działania plików .htaccess) https://httpd.apache.org/docs/2.4/howto/htaccess.html - dostęp 2026-02-27
  • Apache HTTP Server Documentation: "mod_alias - Redirect" (dyrektywy przekierowań) https://httpd.apache.org/docs/2.4/mod/mod_alias.html - dostęp 2026-02-27

Materiały:

  • Dokumentacja Apache o .htaccess i dyrektywie AllowOverride
  • Dokumentacja Apache o dyrektywie Redirect (mod_alias) oraz o mod_rewrite
  • Materiały o kodach odpowiedzi HTTP (w tym 301) i ich wpływie na cache/SEO

Aktualizacja pytania: 31.03.2026

Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego