Przyjazne URL mod-rewrite
Strona jest już drugi tydzień w sieci, a google nie specjalnie chce się zabrać za jej indeksowanie. No cóż skoro nie chce trzeba mu odrobinę pomóc. Odkąd zapoznałem się z przyjaznymi adresami url, zawsze wydawało mi się, że aby osiągnąć zamierzony efekt przejrzystości adresu trzeba w tą całą eskapadę władować sporo czasu i przede wszystkim chęci. Niestety miałem rację. Jak mawia pewien nauczyciel „pierwszy raz zawsze boli”. Przerobienie bloga kosztowało mnie kilka (dłuższych) chwil. Fakt kodu do wklepania jest nie wiele, ale … lepiej przeczytać jakiś kurs i dobrze się zastanowić jak kierować ruchem na stronie zanim przystąpi się do działania.
Pozostałem przy przesyłaniu pola id. Gdybym wybrał pole tytuł, w którym występują polskie znaki + znaki specjalne jak ‘+’,'-’ itp. musiałbym jeszcze sporo się namęczyć. Przecież nikt nie lubi krzaczków takich jak te %2B, %20. Kumpel polecił mi metodę mod-rewrite.
Oto listing pliku .htaccess:
Options FollowSymLinks
RewriteEngine On
RewriteRule ^([0-9]+)/([a-zA-Z0-9\/\+-\_]+)$ start.php?numer=$1&nazwa=$2 [L]
RewriteRule ^komentarz/([0-9]+)$ /addkom.php?numer=$1 [L]
RewriteRule ^([a-zA-Z0-9\/\+-]+)$ /archiwum.php?dzial=$1 [L]
Efekt jaki dzięki temu uzyskujemy jest naprawdę zapierający dech w piersiach.
Przed zastosowaniem mod-rewrite:
www.blog.levik.ddl2.pl/start.php?id=23
Po zastosowaniu mod-rewrite:
www.blog.levik.ddl2.pl/23/dev-c++_cURL
Odnoszę wrażenie, że wyszukiwarce google to się spodoba. Doszła jeszcze do tego funkcja podmieniająca polskie znaki i kilka znaków specjalnych, ale jest to zaledwie kilka linii kodu.
1 2 3 4 5 6 7 | function mylink($string) { $polish = array('/ą/','/ę/','/ś/','/ć/','/ż/','/ź/','/ł/','/Ą/','/Ę/','/Ś/','/Ć/','/Ż/','/Ź/','/Ł/'); $latin = array('/a/','/e/','/s/','/c/','/z/','/z/','/l/','/A/','/E/','/S/','/C/','/Z/','/Z/','/L/'); $mylink = strtolower(preg_replace($polish, $latin, $string)); return str_replace(" ", "_", preg_replace("/[^a-zA-Z0-9 \+ -]/", "", $mylink) ); } |







