Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] php a przyjazne URL'e
bl4ck_b0x
post
Post #1





Grupa: Zarejestrowani
Postów: 81
Pomógł: 0
Dołączył: 21.11.2006

Ostrzeżenie: (0%)
-----


Witam.

Ostatnio wpadłem na pomysł otworzenia ciekawego serwisu (z przyczyn oczywistych nie powiem na czym będzie polegał) (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) No ale dalej... chodzi mi o to, że będą mi potrzebne tzw. "przyjazne URLe" ze względu na wypozycjonowanie strony. Chciałbym aby to wyglądało tak jak np. w phpbb by przemo + spider friendly (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) czyli nazwa tematu jest w GET (pasku adresu) (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Zastanawia mnie jak to ma działać... czy tzw. TEMAT (nazwijmy to właśnie tak wzorując się na PHPBB) ma być pobierany z bazy, następnie przypisywany do np. $_GET['nazwa_tematu']?

Bardzo prosiłbym o wskazówki...
pozdrawiam

Ten post edytował JaRoPHP 13.12.2007, 20:08:33
Powód edycji: Dodanie tagu.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 8)
webdice
post
Post #2


Developer


Grupa: Moderatorzy
Postów: 3 045
Pomógł: 290
Dołączył: 20.01.2007




Poczytaj o mod_rewrite.
Go to the top of the page
+Quote Post
bl4ck_b0x
post
Post #3





Grupa: Zarejestrowani
Postów: 81
Pomógł: 0
Dołączył: 21.11.2006

Ostrzeżenie: (0%)
-----


no tyle to i ja wiem, wiem że to jest za to odpowiedzialne ale chodzi mi o odwołanie do konkretnego artykułu odnośnie tych URLi.. (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) takiego który pomoże mi to zrozumieć i napisać coś własnego (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
webdice
post
Post #4


Developer


Grupa: Moderatorzy
Postów: 3 045
Pomógł: 290
Dołączył: 20.01.2007




To pewnie też wiesz -> google.pl
Go to the top of the page
+Quote Post
Regyam
post
Post #5





Grupa: Zarejestrowani
Postów: 79
Pomógł: 0
Dołączył: 8.04.2007

Ostrzeżenie: (0%)
-----


tobie pewnie chodzi o sformatowanie tego GETu zeby wygladal na przyjazny czyli cos takiego:
Sprzedam dużą działkę!
Nie wyszlo temat-Sprzedam dużą działkę!.html albo temat/Sprzedam dużą działkę!
tylko tak: temat-sprzedam_duza_działke.html
to wtedy wystarczy zrobic funkcje ktora zmienia spacje na _ etc a jak Ci nie o to chodzi to nie wiem (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)
Go to the top of the page
+Quote Post
bl4ck_b0x
post
Post #6





Grupa: Zarejestrowani
Postów: 81
Pomógł: 0
Dołączył: 21.11.2006

Ostrzeżenie: (0%)
-----


Regyam masz racje (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) O to mi chodziło (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Czyli przy użyciu mod_rewrite usunąć całkiem "index.php" a następnie pozamieniać wszystkie znaki (w tym spacje na np. _) i wstawić to do GET'a?
Go to the top of the page
+Quote Post
dadexix
post
Post #7





Grupa: Zarejestrowani
Postów: 439
Pomógł: 21
Dołączył: 28.06.2007
Skąd: Bielsko-Biała

Ostrzeżenie: (0%)
-----


musisz pobrać z bazy jakiegoś stringa(tytuł strony), wywalić z niego spacje - dać podkreślenie - wywaliś pl, wstawić do GET'a i skonifgurować mod_rewrite tak by nie przejmował się tą częścią która jest tytułem.. i ów koniec filozofi:D
Go to the top of the page
+Quote Post
-polop-
post
Post #8





Goście







Ja zamiast stworzenia linków w postaci:
Kod
temat-sprzedam_duza_działke.html

sugerowałbym umieszczenie w nim identyfikatora, np.
Kod
temat-1-sprzedam_duza_działke.html

Następnie wyszukiwanie powinno odbywać się nie na podstawie stringa "sprzedam_duza_działke" tylko liczby całkowitej (identyfikatora) 1. Dlaczego?
- wyszukiwanie po liczbach jest zdecydowanie szybsze niż po stringach
- wyobraź sobie sytuację, że dwóch userów dopisuje ogłoszenie "Sprzedam dużą działkę". Przy wyszukiwaniu po stringu skrypt się sypnie, natomiast używając identyfikatorów wszystko będzie działało poprawnie.
Jedynym minusem (ale można o to zadbać) jest to, że linki np.
Kod
temat-1-sprzedam_duza_działke.html
temat-1-kupie_mala_altanke.html

będą prowadziły do tego samego tematu.
Go to the top of the page
+Quote Post
templar
post
Post #9





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 13.09.2006
Skąd: Poland

Ostrzeżenie: (0%)
-----


A ja bym jednak zrobił jeszcze inaczej.

Wyszukiwanie dajesz po stringu, ale w tabeli bazy dodajesz kolumnę np. topic_url, która zawiera przekonwertowany string topicu - bez polskich znaków, spacji i pojechany np. strtolowerem. Następnie zakładasz na nią indeks i wtedy wyszukiwanie będzie błyskawiczne, bo z tego co mi wiadomo tabela z topicami w phpbb nie ma żadnego innego indeksu poza ID, ale być może się mylę. Indeksy bardzo przyspieszają pracę i wyszukiwanie danych, należy pamiętać, że silnik bazy danych "musi mieć co robić", oczywiście utrzymanie indeksów to też jakiś koszt, ale to dopiero zaczyna być problemem przy 4-5-10 indeksach i 10-20 tabelach powyżej 500 000 - milion wierszy.

No i przy dodawaniu topica najpierw go konwertujesz do takiej postaci jak wyżej, a następnie sprawdzasz w tabeli, czy taki topic_url już istnieje. Jeżeli istnieje, to dodajesz na końcu "2", i masz sprzedam_dzialke2.html, a jesli sa 2 takie tematy to je zliczasz i dajesz 3 itp itp.

Potem tylko odczytujesz przy generacji linków pole topic_url i generujesz link topic_url.'.html dla przykładu no i w mod_rewrite regułka i drobna zmiana skryptu i ot jest.

pozdro
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 18.09.2025 - 09:45