[.htaccess] PHP i ładne linki - Wortal.FreelanceMedia.pl
Newsletter
E-Mail:
Mój profil
Login:

Hasło:

Nie masz konta? Zarejestruj siÄ™!
Statystyki
Użytkowników: 19
Artykułów: 20
Komentarzy: 19
Skryptów: 4
Gości online: 2
Użytkownicy online: brak




Wykonamy strony dla firm, osób prywatnych, klubów sportowych, itp. Od prostej wizytówki dla firmy, przez hobbystyczny wortal po bardziej skomplikowane portale, choćby społecznościowe. Oferumy również wykonanie profesjonalnej grafiki. Kontakt gg: 6025719, email: lukiradom@gmail.com. Portfolio: freelancemedia.pl.



Drukuj

[.htaccess] PHP i ładne linki


Pisząc aplikację w PHP używamy odbierania danych z adresu metodą GET. Wyszukiwarki internetowe "nie przepadają" za linkami typu http://mojastronka.pl/artykul.php?kat=news&id=1 no i trudniej je zapamiętać. Z pomocą przychodzi nam .htaccess, w którym możemy wprowadzać reguły przepisywania linków. Np. :
Nasz nieładny link:
http://mojastronka.pl/artykul.php?kat=news&id=1&czytaj=wszystko

Możemy zamienić na:
http://mojastronka.pl/artykul/news/1/
lub:
http://mojastronka.plartykul-news-1.html
Nie musimy tworzyć żadnych katalogów ani plików .html, .htaccess "oszuka" nasz skrypt i wprowadzi mu odpowiednie dane. W tym celu tworzymy regułę w pliku .htaccess:

Zajmiemy się przykładem: http://mojastronka.pl/artykul-news-1.html
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www.)?mojastronka.pl$ [NC]
RewriteRule ^artykul-([a-z0-9._]+)-([^-]+).html$ artykul.php?kat=$1&id=$2 [L]


W pierwszej linijce aktywujemy silnik MOD_REWRITE, w drugiej zaś podajemy adres naszej strony (z www i bez), a w trzeciej podajemy regułę przepisywania. Schemat jest prosty:

RewriteRule ^adres_jaki_bedzie_wpisany$ adres_jakiego_uzywalismy [L]

Adres jaki będziemy wprowadzać: ^artykul-([a-z0-9._]+)-([^-]+).html$

artykul-[znaki od a do z oraz cyfry i znak podkreślenia "_"]-[cyfry].html

Skrypt przyjmie to jako:

http://mojastronka.pl/artykul.php?kat=kategoria&id=numer_w_bazie

Następna reguła będzie przekierowywać adres:

http://mojastronka.pl/artykul/news/1/

RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www.)?mojastronka.pl$ [NC]
RewriteRule ^artykul/([a-z0-9._]+)/([^-]+)/$ artykul.php?kat=$1&id=$2 [L]



Czyli: RewriteRule ^artykul/[litery_cyfry_oraz_znak_podkreslenia]/[cyfry]/$

A więc, jeśli teraz wpiszemy w przeglądarce:
http://mojastronka.pl/artykul/news/1/

będzie to równoznaczne z wpisaniem:
http://mojastronka.pl/artykul.php?kat=news&id=1

UWAGA!!!
Podczas użycia powyższego przykładu możecie napotkać problemy, gdyż serwer będzie myślał, że znajdujecie się w katalogu /artykul/news/1/ co może powodować problemy z obrazkami, linkami, plikami .css oraz .js. Dlaczego? Otóż często podajecie url do załóżmy obrazka: obrazki/logo.jpg. Gdy będziecie pod adresem http://mojastronka.pl/artykul/news/1/ przeglądarka będzie próbowała wyświetlić obrazek z katalogu /artykul/news/1/obrazki/logo.jpg, który NIE ISTNIEJE! Tak więc, aby temu zapobiec, w kodzie należy zmienić scieżkę z "obrazki/logo.jpg" na "/obrazki/logo.jpg", czyli aby szukał folderu obrazki w katalogu głównym "/".

luki, [06.11.2009 20:37] Czytań: 732


dodaj do flakera

Zaloguj się, aby komentować artykuły.
Brak komentarzy.

fotografia ślubna - Pozycjonowanie - tajemniczy klient - drukowanie ulotek - Wycieczki Egipt - mocarstwa - hipermarket - Kloce masarskie - gospodarowanie - Fajne ksiazki - stomatologia dziecięca Kraków - agencja promocji - fotograf ślubny - Patch panel

Giżycko | wynajem namiotów | Nowe Forum Młodzieżowe | maine coon | Biuro matrymonialne Agentur-2life | kuchnie | taxi władysławowoSport | Dokument | Hosting | Anglia, Londyn, Uk | Odtwarzacze