Każdy posiadacz serwisu WWW dochodzi w pewnym momencie do wniosku, że adresy używane do linkowania dokumentów nie są przyjazne dla jego Klientów, jak i wyszukiwarek. Pomyśl, gdyby można było zamiast odnośnika:
http://moja-strona.home.pl/nowosci/wyswietl.php?id=3487
podać adres w następującej postaci:
http://moja-strona.home.pl/nowosci/3487
Prawda, że lepiej? Możliwość tworzenia takich przyjaznych adresów udostępnia mod_rewrite. Korzystanie z niego niesie za sobą wiele zalet:
* za jego pomocą można stworzyć proste linki,
* dzięki tym linkom można ukryć informacje, w jakim języku są napisane skrypty,
* przyjazne linki są zdecydowanie lepiej traktowane przez wyszukiwarki tj. Google. Dzięki temu masz większe szanse na lepsze wypozycjonowanie Twojego serwisu,
W celu rozpoczęcia operacji związanych z przepisywaniem adresów należy utworzyć w katalogu głównym swojego serwera plik .htaccess oraz przejść do jego edycji.
Oto przykład prostego przepisania:
RewriteEngine on
RewriteRule ^old\.html$ new.html
Pamiętaj, że ostatnia linia pliku .htaccess musi być pusta - wstawiaj znak enter zawsze na końcu pliku.
Jest to przykład składni mod_rewrite. Przeanalizujmy go.
Pierwsza linia zawiera informację o aktywacji mod_rewrite. Druga linia zawiera definicję tego, co ma zostać przepisane. Należy pamiętać, że domyślnie przepisaniu poddawany jest adres wywołania strony URL. Składnia tej komendy wygląda następująco:
RewriteRule maska_przepisania docelowy_adres [opcje]
Domyślnie dopasowywana jest zmienna REQUEST_URI, bez poprzedzającego slasha. Np. nowosci/348
Analizując nasz przykład, możemy powiedzieć, że nasza reguła analizująca adres URL będzie szukać pliku o nazwie old.html i jeśli go znajdzie, to zamieni na adres new.html
Praktycznie w każdym zastosowaniu mod_rewrite definicja maski przepisania jest skonstruowana za pomocą wyrażenia regularnego. Więcej informacji na temat wyrażeń regularnych możesz znaleźć w Wikipedii oraz w oficjalnej dokumentacji Perla.