Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów
problem z mod_rewrite - Wersja do druku

+- Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów (https://www.webmastertalk.pl)
+-- Dział: Technologie internetowe - tworzenie stron WWW (https://www.webmastertalk.pl/forum-technologie-internetowe-tworzenie-stron-www)
+--- Dział: Początkujący webmaster (https://www.webmastertalk.pl/forum-poczatkujacy-webmaster)
+--- Wątek: problem z mod_rewrite (/thread-problem-z-mod-rewrite)



problem z mod_rewrite - dziamber - 25-09-2009

Ostatnio postanowiłem wprowadzic do swojego serwisu tzw. przyjazne linki. To moje pierwsze starcie z mod_rewrite, proste reguły dobrze tworze, jednak jedno mnie zastanawia. Pobieram z bazy id oraz nazwę książki i chcę miec to wszystko w takim linku:
www.adres.pl/ksiazki/tworzenie-serwisow-www-657.htm
Problem leży w tym że z bazy pobieram nazwę bez myślników, i jak teraz utworzyc regułę aby były te myślniki? Z góry dziękuje za podpowiedzi Smile


RE: problem z mod_rewrite - Labsta.com - 25-09-2009

Albo zpaisz w bazie z myślnikami, albo co jest najlepsze pobieraj po id czyli 657.
Dlaczego?
W tytule zastępujesz myślnikami nie tylko spacje, ale również kropki, przecinki, znaki zapytania itd. Czyli właściwie proces jest nieodracalny.


RE: problem z mod_rewrite - pRzemo - 25-09-2009

Ja w swoich serwisach mam dodatkową kolumne, która przechowuje odpowiednik tytułu działu w formie "tworzenie-serwisow-www". Dzieki temu mogę w łatwy sposób tworzyć przyjazne linki.

Jak już wspomniał Labsta, najlepszym sposobem jest pobieranie rekordu poprzez ID elementu (www.adres.pl/artykul/123.html) - jest szybkie, łatwie i nie wygląda najgorzej, ale mozesz takze dodac .../artykul/123-tworzenie-stron-www.html, co według mnie jest o wiele bardziej przyjazne (szczególnie dla google).


RE: problem z mod_rewrite - Labsta.com - 25-09-2009

Dokładnie o coś takiego jak napisał pRzemo mi chodziło, czyli coś w tym stylu:
Kod:
^ksiazki/([0-9]+)-(.*).htm$ ksiazki.php?id=$1
Wtedy adres wyglądałby tak www.adres.pl/ksiazki/657-tworzenie-serwisow-www.htm i tytuł byłby obojętny. Osobiście czasem stosuje dodatkową kolumnę w bazie, a czasem tylko id. Wszystko zależy od Ciebie Smile


RE: problem z mod_rewrite - dziamber - 25-09-2009

Już rozwiązałem ten problem. Pobieram tytuł z bazy danych przepuszczam go przez funkcję i zamieniam wszystkie spacje na myślniki. Dzięki za pomoc Smile