--=REKLAMA=--

Włączanie prostych adresów na serwerach Nginx

Z Joomla!WikiPL

Wersja Komodore (dyskusja | edycje) z dnia 03:43, 19 kwi 2014

(różn.) ← poprzednia wersja | przejdź do aktualnej wersji (różn.) | następna wersja → (różn.)


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 Nginx serwerach internetowych.

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.


  • Dodaj poniższy kod do konfiguracji serwera (vhost) w pliku nginx.conf:
        # Support Clean (aka Search Engine Friendly) URLs</tt>
        location / {
                try_files $uri $uri/ /index.php?q=$request_uri;
        }
  1. Zaloguj się na zaplecze i otwórz stronę Konfiguracja globalna.
  2. 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 Typowe problemy obsługi prostych adresów?
  3. 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 uruchom serwer.
    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.
  4. 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],