[inne][mod_rewrite] Jak zmienić plik.php?id=1 w nazwa_strony.html ? |
[inne][mod_rewrite] Jak zmienić plik.php?id=1 w nazwa_strony.html ? |
29.11.2011, 13:09:17
Post
#1
|
|
Grupa: Zarejestrowani Postów: 381 Pomógł: 12 Dołączył: 9.07.2007 Ostrzeżenie: (0%) |
Witam,
ogólnie w miarę ogarniam mod_rewrite, ale zastanawiam mnie jedna opcja, jak zrobić aby po wywołaniu zmiennej, której wartość to INT np. plik.php?id=1 dzięki mod_rewrite link wyglądał /nazwa_danej_strony.html (.html ->opcjonalnie). Na jakiej zasadzie miałoby to być zrobione? Wiem jak zrobić aby zamienić plik.php?nazwa=cos_tam na /cos_tam.html jednak nie mam pomysłu jak ID danej podstrony zamienić na link z jej tytułem. -------------------- GG: 564555
|
|
|
29.11.2011, 13:12:27
Post
#2
|
|
Grupa: Zarejestrowani Postów: 202 Pomógł: 36 Dołączył: 10.06.2011 Skąd: Dokąd Ostrzeżenie: (0%) |
Widziałem coś takiego ostatnio. Wrzuć "mod rewrite" w Google.
EDIT: O! Obczaj to: http://www.php.rk.edu.pl/w/p/modrewrite-krotkie-urle/ Ten post edytował Korab 29.11.2011, 13:14:18 |
|
|
29.11.2011, 13:13:09
Post
#3
|
|
Grupa: Zarejestrowani Postów: 355 Pomógł: 50 Dołączył: 20.08.2007 Skąd: Częstochowa Ostrzeżenie: (0%) |
Chyba sam mod rewrite nie wywróży Ci, jaki id w bazie ma podana strona, możesz wprobować przepisac (.+).html np. na routes.php?site=$1 i w php już szukać plików / wpisów w bazie po nazwie
pozdro -------------------- przetwornik yt na czasie :)
|
|
|
29.11.2011, 13:17:25
Post
#4
|
|
Grupa: Zarejestrowani Postów: 381 Pomógł: 12 Dołączył: 9.07.2007 Ostrzeżenie: (0%) |
OK, przykładowo mam link category.php?id=2 , Kategoria o id 2 w bazie ma nazwę test, jak teraz z tego zrobić link /test.html bądź /2-test (bo chyba jednak trzeba ID w link jakoś przekazać ?)
-------------------- GG: 564555
|
|
|
29.11.2011, 13:21:27
Post
#5
|
|
Grupa: Zarejestrowani Postów: 220 Pomógł: 19 Dołączył: 25.04.2009 Ostrzeżenie: (0%) |
Po prostu robisz category.php?id=2&nazwa=test. I to przerabiasz w mod_rewrite na category.php/2-test.
-------------------- Znalazłeś sam rozwiązanie swojego problemu? Nie pisz "już wiem, do zamknięcia". Podziel się rozwiązaniem - inni będą mieli łatwiej.
|
|
|
29.11.2011, 13:22:53
Post
#6
|
|
Grupa: Zarejestrowani Postów: 355 Pomógł: 50 Dołączył: 20.08.2007 Skąd: Częstochowa Ostrzeżenie: (0%) |
No nie koniecznie trzeba, bo możesz zawsze szukać po nazwie, z tym że nazwa musiała by być unikalna, natomiast chyba lepiej id umieścić w urlu, żeby nie męczyć za bardzo mysqla
np. www.domena.pl/test-2.html reguła np.
coś w ten deseń -------------------- przetwornik yt na czasie :)
|
|
|
29.11.2011, 13:27:08
Post
#7
|
|
Grupa: Zarejestrowani Postów: 381 Pomógł: 12 Dołączył: 9.07.2007 Ostrzeżenie: (0%) |
No nie koniecznie trzeba, bo możesz zawsze szukać po nazwie, z tym że nazwa musiała by być unikalna, natomiast chyba lepiej id umieścić w urlu, żeby nie męczyć za bardzo mysqla np. www.domena.pl/test-2.html reguła np.
coś w ten deseń Ok tylko podajesz w linku tylko page=$2 co w regule odpowiada -([0-9]) a skąd pierwsza wartość ([a-zA-Z0-9]+) -------------------- GG: 564555
|
|
|
29.11.2011, 13:32:07
Post
#8
|
|
Grupa: Zarejestrowani Postów: 355 Pomógł: 50 Dołączył: 20.08.2007 Skąd: Częstochowa Ostrzeżenie: (0%) |
pierwsza wartość to nazwa strony, które nie jest istotna do znalezienia jej w bazie ( w $2 masz jej id ) więc jej nie przekazujesz dalej
-------------------- przetwornik yt na czasie :)
|
|
|
29.11.2011, 13:39:33
Post
#9
|
|
Grupa: Zarejestrowani Postów: 381 Pomógł: 12 Dołączył: 9.07.2007 Ostrzeżenie: (0%) |
Tak Jak najbardziej to wiem;) Chodziło mi o to w którym miejscu i gdzie mam $1 przekazać
-------------------- GG: 564555
|
|
|
29.11.2011, 13:40:29
Post
#10
|
|
Grupa: Zarejestrowani Postów: 220 Pomógł: 19 Dołączył: 25.04.2009 Ostrzeżenie: (0%) |
Elber, idealne rozwiązanie Twojego problemu chyba nie istnieje. Trzeba iść na kompromis:
Ten post edytował qrzysztof 29.11.2011, 13:41:17 -------------------- Znalazłeś sam rozwiązanie swojego problemu? Nie pisz "już wiem, do zamknięcia". Podziel się rozwiązaniem - inni będą mieli łatwiej.
|
|
|
29.11.2011, 13:42:25
Post
#11
|
|
Grupa: Zarejestrowani Postów: 355 Pomógł: 50 Dołączył: 20.08.2007 Skąd: Częstochowa Ostrzeżenie: (0%) |
$1 nie przepisujesz bo to tylko niceurl który tobie nie jest potrzebny do niczego, bo wyciągniesz go i tak z bazy po id
-------------------- przetwornik yt na czasie :)
|
|
|
29.11.2011, 13:53:10
Post
#12
|
|
Grupa: Zarejestrowani Postów: 381 Pomógł: 12 Dołączył: 9.07.2007 Ostrzeżenie: (0%) |
Dobra Teraz zaczaiłem jak sobie linka wyobraziłem Sory 2 ostatnie pytania były nie potrzebne Dzięki wielkie za odp Już w wszystko czaję
([a-zA-Z0-9]+)-([0-9])+ page.php?page=$2 <a href="$nazwa_z_bazy-$id_z_bazy">Nazwa z Bazy</a> Pozdrawiam To jeszcze jedno pytanie Przez jaką zmienną w php przepuścić nazwę z bazy żeby zamieniła polskie znaki i spacje na normlany text czyli ą na a spacje na _ itp -------------------- GG: 564555
|
|
|
29.11.2011, 15:24:57
Post
#13
|
|
Grupa: Zarejestrowani Postów: 250 Pomógł: 11 Dołączył: 20.03.2006 Ostrzeżenie: (0%) |
ja używam tej funkcji:
pozniej zmienna przepuszczasz przez to:
|
|
|
Wersja Lo-Fi | Aktualny czas: 27.04.2024 - 07:19 |