Jacekk.info - O stronach internetowych wiemy wszystko

Skracanie adresu URL

Jacek | 2005-07-29 13:38:35

Mod_rewrite pozwala skrócić/zmienić adresy URL. Nie będę owijał w bawełnę. To nie jest łatwe. Nad pewnym skomplikowanym przykładem siedziałem 3 godziny.

Ale przejdźmy do rzeczy: czyż nie łatwiej jest zapamiętać

http://artykuly.foo.pl/15/

niż

http://artykuly.foo.pl/artykul_wszystkie.php?id=15

Aby zamienić takie dwa adresy użyjemy własnie tego modułu:

RewriteEngine On
RewriteCond %{SERVER_ADDR} ^artykuly.foo.pl$ [NC]
RewriteRule ^/(.*)/$ artykul_wszystkie.php?id=$1 [L]

W linii pierwszej infromujemy serwer, że będziemy korzystać z z mod_rewrite

Uwaga! Wystarczy, jeśli zadeklarujemy to tylko jeden raz

Druga linia wymaga, aby reguła była wykonywana tylko, jeśli host, z którym połączył się użytkownik, to artykuly.foo.pl (dodatkowy parametr [NC] powoduje, że nie jest ważna wielkość liter)

Uwaga!
  • Nie jest rozpoznawany adres IP, jeśli nie podamy go w dodatkowej regule
  • Aby zdefiniować więcej warunków, w nawiasie, po [NC dodajemy ,OR (jeśli wystarczy, by tylko jedna reguła spełniała warunek) lub zostawić tak jak było (jeśli obie muszą spełniać warunek)

Ostatnie polecenie to samo przekierowanie (z czego na co). Zmienia ono ścieżkę

/minimalnie_jeden_znak/

na

artykul_wszystkie.php?id=minimalnie_jeden_znak
Uwaga! Aby korzystać z tego rozszeżenia musimy:
  • mieć dostęp do pliku konfiguracyjnego serwera
  • usunąć znak # z linii
    #LoadModule rewrite_module modules/mod_rewrite.so
    (liniia może się różnić w zależności od miejsca instalacji bądź systemu operacyjnego)

Życzę udanych implementacji i przyjemnej pracy z Google


Menu

Strona

Artykuły

Przydatne kody

Skrypty PHP

Programy

Oferta

Informacje

Poprawny XHTML 1.1

Linki

© by Jacek Kowalski
Sponsor: Oxy.pl