Jak włączyć przyjazne linki dzięki mod_rewrite?


27 czerwca 2010 / Michał Kortas


Powszechnie panuje stereotyp, że wyszukiwarka Google słabo radzi sobie z linkami typu: nazwastrony.pl?id=skrypty&go=php. Jest to błędne myślenie – amerykański robot w tej chwili dobrze już indeksuje tego typu zbudowane strony. Nie mniej jednak warto znać, chociaż w podstawie, zasady przyjaznego przepisywania linków, czyli mod_rewrite. Na samym początku powinniśmy sprawdzić czy nasz serwer ma włączony system przyjaznych linków. W tym celu musimy posłużyć się funkcjąphpinfo(). W wyświetlonym przez naszą przeglądarkę oknie wyszukujemy przedział: Loaded Modules, a następnie tam szukamy informacji o mod_rewrite.

Jeżeli wszystko przebiegło po naszej myśli i mamy uruchomioną na serwerze obsługę przyjaznych linków możemy przystąpić do kolejnego kroku. Jeśli natomiast usługa przepisywania jest niedostępna, musimy poprosić o jej włączenie naszego administratora.
Przyjmijmy, że na naszej stronie (zbudowanej oczywiście przy pomocy php) posiadamy linki typu:

Dzięki możliwości przepisywania uzyskamy efekt:

Przez ten zabieg adres strony będzie czytelniejszy nie tylko dla wyszukiwarek ale i dla potencjalnego internauty.

Na początek tworzymy nowy plik o nazwie .htaccess i zapisujemy go w głównym katalogu ze stroną. Uzupełniamy go następującym kodem:

A teraz krótkie omówienie. Pierwsza linijka informuje serwer, że zostanie użyta metoda mod_rewrite. W drugim wierszu deklarujemy ścieżkę do folderu z naszą stroną w odniesieniu do głównego katalogu (np. /folder1/folder2/). Jeżeli natomiast nasza strona znajduje się w głównym katalogu wstawiamy znak /. W kolejnym wierszu informujemy serwer jak będą wyglądały przepisane linki. Symbol (.*) odpowiada za użycie dowolnych znaków z zakresu. Następnie wpisujemy index.php, a potem podmieniamy nasze zmienne, przypisując je do nowych (koniecznie musimy użyć takiego formatu nowych zmiennych: $1, $2, $3 itd.). Na koniec pozostawiamy jeden pusty wiersz.

Teraz pozostaje nam zamienić wszystkie linki w naszym kodzie html na takie:

W miejscu gdzie wpisałem folder_ze_stroną należy wpisać tą samą ścieżkę co w drugim wierszu w pliku.htaccess. Pamiętajmy także o zmianie ścieżki w odnoszącej się do naszego arkusza CSS – tam także musimy dodać na początku nazwę naszego folderu, w którym znajduje się strona.

W razie jakichkolwiek problemów z metodą przepisywania linków mod_rewrite proszę o kierowanie swoich pytań bezpośrednio w komentarzach pod artykułem.



3 odpowiedzi na “Jak włączyć przyjazne linki dzięki mod_rewrite?”

  1. Unbreak pisze:

    A co jakbyśmy chcieli w adresach podstron mieć html na końcu? (nie wpisów, a podstron)

  2. Angelika pisze:

    A co jeśli mod_rewrite nie jest włączony na serwerze ? Jak go aktywować przez cpanel ?

Pozostaw odpowiedź Angelika Anuluj pisanie odpowiedzi

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *