Zobacz temat
[PHP] Przyjazne SEO Linki
|
|
poki289 |
Dodany dnia 06.03.2010 16:56:57
|
Początkujący Postów: 240 Pomógł: 33 Ostrzeżeń: 1 v7.02.07 Data rejestracji: 26.12.2009 05:49 |
Witam, od kilku godzin męczę się, jak wykonać przyjazne URLe. Po przeczytaniu na wortalu php.pl artykułu Przyjazne URLe, postanowiłem że skorzystam z tego sposobu. Utworzyłem plik index.php a w nim: Rozwiń Kod źródłowy PHP Po otworzeniu strony mam tablice z parametrami, tylko jak się do tych parametrów odwołać? Czy mógłby mi ktoś łopatologicznie wytłumaczyć lub dać przykład zastosowania. Z góry thx. Edytowane przez Pieka dnia 06.03.2010 19:52:01 Polecam Pincio - Portal społecznościowy.
|
|
|
Wścibski Gość |
Dodany dnia 22.12.2024 20:26:38
|
Pan Kontekstualny Postów: n^x Data rejestracji: Zawsze |
|
IP: localhost | |
bartek124 |
Dodany dnia 06.03.2010 17:29:47
|
Weteran Postów: 3264 Pomógł: 236 v7.02.06 Data rejestracji: 26.05.2007 12:25 |
Wybrałeś metodę PHP, czyli skorzystanie z tzw. Routera. Elastyczniej, aczkolwiek trudniej. Możesz wykorzystać sam .htaccess do przepisywania linków, a parametry odbierać normalnie poprzez tablicę superglobalną $_GET. Ściągnij i zbadaj mój mod Friendly Url's, jeśli chcesz zobaczyć, jak to działa. Co do routerów, w .htaccess wystarczy jedna reguła. W Twoim przykładzie adres wygląda tak: http://www.mojastrona.pl/index.php/newsy/pokaz/1 Więc wystarczy reguła, która przepisze to na: http://www.mojastrona.pl/newsy/pokaz/1 Bardzo elastycznie, ale wymaga to więcej kombinacji w PHP. Swego czasu napisałem router na własne potrzeby, który pobierał z tablicy, na podstawie linku, odpowiednią wartość, którą była kolejna tablica. Dla przykładu: Na tej podstawie, po wywołaniu strony http://www.mojastrona.pl/newsy/pokaz/1/komentarze/strona_1 została pobrana w/w tablica, następnie za pomocą funkcji array_combine połączyła subtablicę 'getkeys' zawierającą klucze dla tablicy $_GET z wartościami zawartymi w adresie. W ten sposób po wywołaniu strony http://www.mojastrona.pl/newsy/pokaz/1/komentarze/strona_1 w ostateczności zostaje wywołana strona news.php z tablicą $_GET prezentującą się następująco: dla przykładu. Mam nadzieje, że coś z tego zrozumiałeś, bo troszkę jednak namieszałem. Jeśli drugi przykład wydaje Ci się trudny to spokojnie użyj samego .htaccess, będzie prościej i szybciej, a w przyszłości możesz zacząć kombinować na routerach :) |
|
|
poki289 |
Dodany dnia 06.03.2010 20:30:53
|
Początkujący Postów: 240 Pomógł: 33 Ostrzeżeń: 1 v7.02.07 Data rejestracji: 26.12.2009 05:49 |
Na wstępie dzięki za odpowiedź, naprawdę pomocna. Dobrze znana jest mi Twoja modyfikacja, pisząc własny system wtyczek, poniekąd wzorowałem się na Twoim modzie (na starcie ładuje wszystkie nazwy plików do tablicy, sprawdzam czy klasa/metoda istnieje itd.), ogólnie mała rzecz a cieszy. Przepisywanie linków po .htaccess ma tylko jeden plus, to że gdy posiadam adres: nazwa.pl/articles.php?cat=php&article=urle To wystarczy jedna reguła w .htaccess aby zmienic na:nazwa.pl/php/urle.htm I nic więcej nie muszę kombinować, ale wada jest taka że, reguły muszę ustalać dla każdego pliku z osobna (articles.php downloads.php itp).I w sumie mógłbym tego użyć, ale według mnie. Nie jest to dobre rozwiązanie. Korzystając z routingu wystarczy mi poniższy .htaccess i po sprawie. Co do Twojego przykładu Routingu, to widziałem gdzieś na php.pl podobny sposób, będę musiał się temu bliżej przyjrzeć. Trzeba też będzie się przyjrzeć Drupalowi czy WP jak tam wygląda ich Routing. Polecam Pincio - Portal społecznościowy.
|
|
|
bartek124 |
Dodany dnia 06.03.2010 20:50:40
|
Weteran Postów: 3264 Pomógł: 236 v7.02.06 Data rejestracji: 26.05.2007 12:25 |
Hmm, no tak. Chyba ze wszystkie pliki by np szły przez index.php, coś w stylu index.php?strona=articles&cat=php&article=urle, wtedy wystarczyłaby też chyba jedna reguła. Jeśli chodzi o router, w sumie to sam jakoś na to nie wpadłem, potrzebowałem coś na szybko i jakoś do łba wszedł ten pomysł, ale możliwe ze podobny gdzieś po forach się pelęta. Jak to działa w WP czy innych skryptach, nei mam pojęcia, nie lookałem |
|
|
poki289 |
Dodany dnia 06.03.2010 21:38:59
|
Początkujący Postów: 240 Pomógł: 33 Ostrzeżeń: 1 v7.02.07 Data rejestracji: 26.12.2009 05:49 |
Właśnie na takiej zasadzie działa drupal (w WP nie przyglądałem się dokładnie, ale też coś w ten deseń) i na pewno takie rozwiązanie zastosuję u siebie. nazwa.pl/index.php?modules=nazwa_modulu Gdzie nazwa_modulu to nazwa katalogu i pliku .php a w rezultacie otrzymamy includowany plik nazwa_modulu/nazwa_modulu.php. Wracając do routingu czy byłaby możliwość zerknięcia w źródło Twojego routingu? Wiadomość doklejona: Zastanawiam się jeszcze jak to jest ze stroną wielojęzyczną, chce zastosować takie urle. nazwa.pl/en/download/delphi2007/ Ale nie wiem Google nie będzie "krzyczeć", ponieważ url identyczny (tresc oczywiście przetłumaczona na dany jezyk).nazwa.pl/pl/download/delphi2007/ Widziałem też że różne skrypty, mają w bazie danych tabele,z polami (id, nie przyjazny adres, przyjazny ,seo_tytul , seo_opis itp). Co o tym myślicie? Czy może lepiej dodać do każdej tabeli powyższe pola? Edytowane przez poki289 dnia 07.03.2010 18:55:33 Polecam Pincio - Portal społecznościowy.
|
|
Przejdź do forum: |