• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

.htacces i przyjazne linki

Object Storage Arubacloud
0 głosów
334 wizyt
pytanie zadane 31 stycznia 2016 w PHP przez dq118 Początkujący (310 p.)

Witam mam pytanie odnośnie mod rewrite i przyjaznych linków.

Mój link wygląda tak:

strona.php?id=1

chce żeby wyglądał tak:

strona/jakis-przyjazny-adres-1

Jak lepiej to zrobić, mieć w bazie ten jakis-przyjazny-adres i na jego podstawie wyświetlać cały wynik tak jakbyśmy robili to z id, czy napisać mod rewrite gdzie jakis-przyjazny-adres będzie poprostu ciągiem znaków który sobie wymyśle a id na końcu to parametr.

Jeśli chodzi o te drugie rozwiązanie to nie bardzo wiem jak napisać taki mod rewrite  gdzie dopiero po ostatnim myślniku jest nasza zmienna. Prosiłbym o pomoc :)

1 odpowiedź

+1 głos
odpowiedź 31 stycznia 2016 przez Arkadiusz Waluk Ekspert (287,950 p.)
wybrane 31 stycznia 2016 przez dq118
 
Najlepsza
RewriteRule ^(.*)-([0-9]+)$ strona.php?id=$2

Jakoś tak może wyglądać to pierwsze. Zamiast dowolnych znaków (.*) można by zrobić ograniczenie jakie mają być użyte, to już kwestia dostosowania. Można jeszcze dodać, że jeśli ta reguła się spełni to już inne mają się nie wykonać - [L].

Co do tego pytania to możesz zrobić jak wolisz - mając id możesz wybierać po nim rekord z bazy co pewnie jest nieco szybsze niż wybieranie po samym tekście.

komentarz 31 stycznia 2016 przez dq118 Początkujący (310 p.)

Dziękuje Ci! O to mi właśnie chodziło. Mógłbyś mi jeszcze wytłumaczyć tą regułę? Bo nie lubie bezmyślnego wklepywania kodu, to mija się z celem:

RewriteRule ^(.*)-([0-9]+)$ strona.php?id=$2

czerwony - WTF

zielony - easy rozumiem

sorry za takie pytania, no ale zaczynam i chce rozumieć kod

komentarz 31 stycznia 2016 przez Arkadiusz Waluk Ekspert (287,950 p.)
No spoko, właściwie to powinienem od razu wytłumaczyć, a nie tylko podać jak to zrobić xd

[0-9] oznacza że dopuszczalne tutaj są tylko cyfry od 0 do 9. Plus oznacza, że może być ich dowolna ilość. A zapisuje się to w nawiasie czyli mamy ([0-9]+)

$2 na końcu oznacza, że ma tam wstawić to co zostanie pobrane z tego drugiego dopasowania z wprowadzonego adresu. Czyli gdyby tam wstawić $1 to podstawiłoby to co pasowałoby do (.*) bo to jest jako pierwsze, a drugie jest ([0-9]+), dlatego właśnie $2. Liczy się po prostu po kolei, stąd te numer.

Już rozumiesz? :)
komentarz 31 stycznia 2016 przez dq118 Początkujący (310 p.)
Niczym pan Zelent przeprowadziłeś mnie przez zagadnienie dotąd przerażająco obce, dzięki jeszcze raz! ;)
komentarz 17 kwietnia 2016 przez Patryk L Bywalec (2,000 p.)
Jak już tak zrobiłem to jak ten link wpisać w wyszukiwarke? I jak je podlinkować?

Podobne pytania

+1 głos
1 odpowiedź 222 wizyt
pytanie zadane 18 czerwca 2016 w Sieci komputerowe, internet przez Krzysztof Rak Bywalec (2,420 p.)
+3 głosów
1 odpowiedź 815 wizyt
pytanie zadane 11 kwietnia 2015 w Inne języki przez cruix Nowicjusz (220 p.)
0 głosów
1 odpowiedź 130 wizyt
pytanie zadane 6 kwietnia 2016 w Inne języki przez Kacper Duda Obywatel (1,970 p.)

92,555 zapytań

141,402 odpowiedzi

319,540 komentarzy

61,938 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...