Informacje o przepisywaniu linków w mod_rewrite

Narzędzie mod_rewrite pozwala skorzystać z prostych linków na stronie WWW. Składnia poleceń mod-rewrite’a w home.pl jest zgodna z tą używana w mod-rewrite serwera Apache. Pełna dokumentacja dostępna jest na stronach projektu Apache (wersja angielska).

 

W celu rozpoczęcia operacji związanych z przepisywaniem adresów należy utworzyć w katalogu głównym serwera plik o nazwie “.htaccess”. W jego zawartości należy umieścić kod, który włączy mod_rewrite na wybranym serwerze w home.pl, czyli:
RewriteEngine on
Więcej informacji na temat przepisywania reguł w narzędziu mod_rewrite znajdziesz w tym artykule.

Przepisywanie adresów – co to jest?

Każdy posiadacz serwisu WWW dochodzi w pewnym momencie do wniosku, że adresy URL używane do linkowania dokumentów nie są przyjazne dla jego Klientów, jak i wyszukiwarek. Przykładowo, adres URL może być za długi lub zbyt trudny do zapamiętania.

Dla przykładu, poniższy długi oraz nieprzyjazny odnośnik:

http://moja-strona.home.pl/nowosci/wyswietl.php?id=3487

możesz automatycznie zamienić (przepisać) na adres bardziej przyjazny dla użytkownika oraz wyszukiwarek:

http://moja-strona.home.pl/nowosci/3487

Możliwość tworzenia przyjaznych adresów URL udostępnia omawiany mod_rewrite. Korzystanie z niego niesie za sobą wiele zalet:

  • za jego pomocą można stworzyć proste linki,
  • dzięki tym linkom możesz ukryć informacje, w jakim języku są napisane skrypty,
  • przyjazne linki są zdecydowanie lepiej traktowane przez wyszukiwarki (np. Google). Dzięki temu Twoja strona WWW ma większe szanse na wysoką pozycję w wynikach wyszukiwania.

Oto przykład najprostszego przepisania:

RewriteEngine on
RewriteRule ^old\.html$ new.html
WAŻNE! Pamiętaj, że ostatnia linia pliku .htaccess powinna być “pusta” – wstawiaj znak [enter] zawsze na końcu zawartości pliku.
Powyższy kod jest przykładową składnią, która jest charakterystyczna dla mod_rewrite. Pierwsza linia zawiera informację o aktywacji mod_rewrite. Druga linia natomiast zawiera definicję adresu, który ma zostać przepisany. 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 do maski_przepisania dopasowywana jest zawartość zmiennej REQUEST_URI, bez poprzedzającego slasha. Zgodnie z powyższymi przykładami będzie to: “nowosci/3487” lub “old.html”.
Na temat powyższego przykładu możemy powiedzieć, że 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”.

 

Więcej informacji oraz przykładowych wpisów dotyczących przepisywania linków znajdziesz w tym artykule.
WAŻNE! 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.

Więcej rozwiązań

Inne przykłady pomocy – np. więcej informacji na temat wyrażeń regularnych

Część przykładów z tego oraz innych kursów pochodzi z artykułu Rossa Shannona URL Rewriting.

Obowiązkową lekturą jest też oryginalna dokumentacja mod-rewrite’a. Dostępna jest ona pod adresem http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html. Przydatna jest też podręczna ściąga z mod_rewrite, przygotowana przez Davida Childa. W celu przetestowania działania wyrażeń regularnych warto skorzystać z poniższych stron:

  • Czy artykuł był pomocny?
  • TAK   Nie
Tematy powiązane
Więcej informacji na forum dyskusyjnym:   Kliknij tutaj, aby przejść na forum.home.pl