Pewnie na wielu stronach spotkałeś się z tzw. „przyjaznymi linkami”, które pomagają w znaczny sposób w pozycjonowaniu strony w wyszukiwarkach. Przyjazne linki tworzy się poprzez podmianę adresów skryptów z rozszerzeniem .php na rozszerzenie .html, które jest lepiej przyjmowane przez roboty wyszukiwarek.
Dzisiaj dam pierwszą praktyczną wskazówkę w jaki sposób można konstruować takie linki, aby miały rozszerzenie .html, a odwoływały się do skryptów PHP. Przyjmijmy, że nasza strona posiada plik główny index.php i za pomocą zmiennej $module odwołuje się do poszczególnych modułów, np. do modułu newsów w postaci adresu URL:
index.php?module=news
Chcielibyśmy, aby adres do naszego modułu miał taką postać:
news.html
W tym celu w naszym pliku .htaccess musimy dodać następujący kod:
1 2 3 | RewriteEngine On RewriteRule ^([a-zA-Z0-9_-]+).html$ index.php?module=$1 |
Nasz serwer Apache musi posiadać aktywowany moduł mod rewrite, aby powyższy kod zadziałał. W pierwszej linii aktywujemy mechanizm „przyjaznych linków”, natomiast w kolejnej definiujemy regułę tworzenia „przyjaznych linków”. Nasz skrypt index.php w regule ma przypisaną zmienną $1, która oznacza zmienną nr 1, która zwraca wartość w pierwszej części reguły ([a-zA-Z0-9_-]+). Wartość ta może przyjmować cyfry, litery oraz znaki „-” i „_”. W związku z tym z adresu:
news.html
Fraza „news” będzie przypisywana do zmiennej $1 i powyższy adres będzie odwoływał się do skryptu o adresie:
index.php?module=news
Analogicznie adres:
gallery.php
będzie odwoływał się do skryptu PHP o adresie:
index.php?module=gallery
W taki sposób możemy tworzyć przyjazne linki na naszej stronie. Przydałaby się jeszcze funkcja, która będzie zamieniać zwykły adres na taki z rozszerzeniem .html, ale o tym w jednym z kolejnych wpisów.
Popularity: 4%
[...] jednym z poprzednich wpisów przedstawiłem jak tworzyć “przyjazne linki” za pomocą mod_rewrite. W dzisiejszym [...]