--=REKLAMA=--

Włączanie prostych adresów na serwerach Apache

Z Joomla!WikiPL


Proste adresy internetowe nazywane też czytelnymi dla człowieka (human-readable), czystymi albo przyjaznymi dla wyszukiwarek (Search Engine Friendly, SEF) to adresy URL, które mają sens zarówno dla ludzi, jak i wyszukiwarek, ponieważ objaśniają ścieżki do stron, na które wskazują. Człowiek może je łatwo zapisać, zapamiętać i przeczytać, a robot wyszukiwarki zidentyfikować na ich podstawie strukturę witryny i prawidłowo ją zaindeksować.

Od wersji 1.5, Joomla! jest zdolny do tworzenia i przetwarzania adresów URL w dowolnym formacie, w tym adresów przyjaznych dla wyszukiwarek. Funkcja ta nie jest zależna od translacji (przepisywania) URL przez serwer WWW, działa, nawet jeśli Joomla jest zainstalowany na innym serwerze niż Apache z modułem mod_rewrite. Proste adresy tworzone są według ustalonego wzorca, ale użytkownik może sam zdefiniować krótki tekst opisowy (alias) dla każdego segmentu adresu URL.

Wewnętrzna, lokalna część prostego adresu URL (część po nazwie domeny) nazywa się trasą (route. Dlatego tworzenie i przetwarzanie adresów SEF nazywane jest dalej trasowaniem (routing), a odpowiedni kod nazywany jest ruterem (router).


Ten artykuł dotyczy stosowania prostych adresów na popularnych serwerach Apache. Implementacja prostych adresów jest również możliwa na serwerach IIS Microsoftu, co przedstawiono w artykule Włączanie prostych adresów na serwerach IIS.

Joomla 2.5 Począwszy od Joomla! 2.5, obsługa prostych adresów jest domyślnie włączona. Joomla 1.5 We wcześniejszych wersjach konieczne było włączenie obsługi prostych adresów w konfiguracji globalnej witryny. Poniższe instrukcje są nadal aktualne, jeśli chcesz korzystać z modułu Apache mod_rewrite/przepisywania adresów URL.


Oto instrukcja krok po kroku. Należy je wykonywać w prezentowanej tutaj kolejności. Jeżeli krok nie przyniesie efektu, nie należy kontynuować do momentu rozwiązania problemu.

  1. Zmień nazwę pliku "htaccess.txt" w głównym katalogu witryny Joomla! na ".htaccess" ( więcej o .htaccess).
  2. Ten krok może być niekonieczny. Otwórz .htaccess w edytorze tekstu. Odkomentuj polecenie RewriteBase / (usuń początkowy znak #). Jeśli Joomla jest zainstalowany w podkatalogu, wprowadź jego nazwę po ukośniku. np. RewriteBase /twojkatalogjoomla.
  3. Zaloguj się na zaplecze i otwórz stronę Konfiguracja globalna.
  4. Włącz opcję Proste adresy i Zapisz. Ta opcja konwertuje adresy URL z rdzennego formatu Joomla! do formatu przyjaznego dla wyszukiwarek #:(SEF).Sprawdź, czy witryna działa poprawnie. Adresy URL powinny wyglądać jak ten http://www.przyklad.com/index.php/nowiny/1-ostatnie-nowiny/1-witaj-u-joomla.
    Jeśli Twoja witryna nie działa poprawnie, zobacz Dlaczego Twoja strona się działa po włączeniu SEF (Search Engine Friendly URL)?
  5. Włącz opcję Użyj mod_rewrite / Zastosuj przepisywanie URL i Zapisz. Ta opcja wykorzystuje funkcję Apache mod_rewrite, aby wyeliminować z adresu część "index.php".
    Sprawdź, czy witryna działa poprawnie. Adresy URL powinny wyglądać jak ten http://www.przyklad.com/nowiny/1-ostatnie-nowiny/1-witaj-u-joomla..
    Jeśli ta opcja powoduje błędy, zobacz Jak sprawdzić, czy na serwerze włączony jest mod rewrite.
    Jeśli nie jest włączony, a masz dostęp do pliku apache/conf/httpd.conf, otwórz ten plik i sprawdź czy linia LoadModule rewrite_module modules/mod_rewrite.so jest odkomentowana. Jeśli to konieczne, usuń znak komentarza i ponownie uruchomić serwer WWW Apache.
    Jeśli mod_rewrite nie może być włączony, pozostaw tę opcję wyłączoną. To nie ma znaczenia, że zostawisz plik .htaccess niezmieniony.
    Jeśli uważasz, że to konieczne, włącz opcję Adresy z przyrostkiem i Zapisz. Ta opcja dodaje na końcu adresów .html. Istnieją różne opinie na temat tego, czy jest to konieczne, a nawet użyteczne. Wyszukiwarek nie obchodzi, czy adresy URL są zakończone przyrostkiem .html.
  6. Otwórz stronę menedżera Dodatki i włącz dodatek System - SEF. Ten dodatek wspiera obsługę prostych adresów w artykułach Joomla. Działa bezpośrednio na HTML i nie wymaga specjalnego znacznika.

Dziękujemy za wkład

» Adam Przybylski [komodore],