Korzystanie z analitycznych i marketingowych plików cookies wymaga Państwa zgody, którą można wyrazić, klikając „Zaakceptuj”. Jeżeli nie chcą Państwo wyrazić zgody na korzystanie przez nas i naszych partnerów z określonych kategorii plików cookies, należy wybrać opcję „Zarządzaj Cookies” i zadecydować o swoich preferencjach. Wyrażoną zgodę można wycofać w każdym momencie poprzez zmianę preferencji plików cookies. Szczegółowe informacje dotyczące przetwarzania danych osobowych znajdują się w Polityce prywatności.
Poniżej możesz zarządzać preferencjami dotyczącymi korzystania przez nas i naszych partnerów z plików cookie.
Więcej szczegółów: Google Analytics
Moduł mod_rewrite, w który wyposażony jest serwer Apache, służy między innymi do budowy tzw. przyjaznych linków. Jego zastosowanie znacznie wpływa na pozycjonowanie serwisu jak i na czytelność adresów podstron serwisu. W zamian za brzydki, zapełniony zmiennymi adres podstrony (np. index.php?mode=gallery&id=3&subid=19) możemy zyskać adres postaci: gallery/3/9 lub gallery,3,9.html. Jak widać jest on adresem krótszym, łatwiejszym do zapamiętania i wpisania – po prostu przyjaznym.
Do budowy przyjaznych linków potrzebujemy dwóch rzeczy:
przynajmniej minimalnej znajomości wyrażeń regularnych:
Wyrażenia regularne stosowane są do opisu reguł przyporządkowania łańcuchów znakowych.
serwera z obsługą mod_rewrite:
Aby sprawdzić czy serwer obsługuje mod_rewrite wystaczy skorzystać z funkcji phpinfo(). Wyświetli ona informację o obsługiwanych modułach (choć w sporadycznych przypadkach zdarzyć się może, iż mod_rewrite nie jest aktywny, mimo iż jest na liście załadowanych modułów). Większość firm hostingowych (największe: home.pl, nazwa.pl, IQ, Kei) od razu udostępnia obsługę tego modułu.
RewriteEngine On
RewriteBase /
RewriteRule ([a-zA-Z0-9-_]+)/([0-9]+)/([0-9]+)/ /index.php?mode=$1&id=$2&subid=$3 [L]
RewriteRule ([a-zA-Z0-9-_]+),([0-9]+),([0-9]+).html /index.php?mode=$1&id=$2&subid=$3 [L]
Pierwsze dwie linie instruują Apache’, że uruchamiamy moduł mod_rewrite. Druga linia, nie zawsze potrzebna, wskazuje na podkatalog domeny w jakim następuje przepisywanie adresów. Jeśli posiadasz hosting na serwerach Nazwa.pl jest ona potrzebna, na innych serwerach niekoniecznie.
Kolejne dwie linie to instrukcje przepisania adresów podstron. Omówię po kolei poszczególne bloki instrukcji wg schematu:
RewriteRule maska_przepisania docelowy_adres [opcje]
RewriteRule ([a-zA-Z0-9-_]+)/([0-9]+)/([0-9]+)/ /index.php?mode=$1&id=$2&subid=$3 [L]
Ten człon polecenia wskazuje na polecenie przepisania adresu. Musi się on zawsze pojawić na początku linii opisującej wzór przepisania.
RewriteRule ([a-zA-Z0-9-_]+)/([0-9]+)/([0-9]+)/ /index.php?mode=$1&id=$2&subid=$3 [L]
RewriteRule ([a-zA-Z0-9-_]+),([0-9]+),([0-9]+).html /index.php?mode=$1&id=$2&subid=$3 [L]
Kolejnym elementem polecenia jest opis wzoru adresu za pomocą wyrażeń regularnych. Dokładny ich opis można znaleźć w internecie, tutaj podamy tylko podstawowe informacje korzystając z pierwszego wyrażenia ([a-zA-Z0-9-_]+):
RewriteRule ([a-zA-Z0-9-_]+)/([0-9]+)/([0-9]+)/ /index.php?mode=$1&id=$2&subid=$3 [L]
Kolejny blok wskazuje sposób przypisania poszczególnych wyrażeń regularnych do zmiennych w oryginalnych adresach. Kolejność zmiennych ustala się podając kolejne liczby w znakach: $1, $2, $3 itd. Jeżeli kolejność zmiennych w przyjaznym linku różni się od adresu pierwotnego oznaczamy ich kolejność wpisując w kolejności np. $3, $1, $2.
RewriteRule ([a-zA-Z0-9-_]+)/([0-9]+)/([0-9]+)/ /index.php?mode=$1&id=$2&subid=$3 [L]
Dzięki użyciu przyjaznych linków możemy osiągnąć kilka korzyści:
Lepsze pozycjonowanie serwisu – linki przyjazne wyszukiwarkom,
Łatwiejsze do zapamiętania adresy podstron – linki przyjazne użytkownikom internetu,
Częściowo ukrywamy strukturę serwisu utrudniając możliwy włam – linki przyjazne webmasterom.
Na dobry start
proponujemy Ci bezpłatnie: