![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 19.09.2008 Ostrzeżenie: (0%) ![]() ![]() |
witam wszystkich na tym forum,
niestety tworzenie reguł mod_rewrite nie jest moją mocną stroną dlatego proszę znających temat o pomoc. Chcę stworzyć regułę która uprości taki link: CODE index.php?go=projekty&typ=projekty&id=81&order=ocena%20DESC do postaci takiej: CODE http://www.kominki.net/projekt_kominka_81.html Oczywiście zmienne jest "id". Próbowałem tego: CODE RewriteRule ^projekt_kominka_([^-]+).html$ index.php?go=projekty&typ=projekty&id=$1&order=ocena%20DESC [L] ale nie działa...Podobna reguła ale dotycząca innego działu na mojej stronie działa bez problemu: CODE RewriteRule ^katalog_([^-]+).html$ index.php?go=katalog&id=$1 [L] ale te linki są znacznie prostsze.Będę wdzięczny za jakąś pomoc lub nakierowanie... |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 86 Pomógł: 18 Dołączył: 28.04.2008 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
tak powinno działać:
Kod RewriteEngine on
RewriteRule ^projekt_kominka_([0-9]+).html$ /index.php?go=projekty&typ=projekty&id=$1&order=ocena%20DESC [L] |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 19.09.2008 Ostrzeżenie: (0%) ![]() ![]() |
tak powinno działać: Kod RewriteEngine on RewriteRule ^projekt_kominka_([0-9]+).html$ /index.php?go=projekty&typ=projekty&id=$1&order=ocena%20DESC [L] dzięki za odpowiedź ale niestety nie działa. Teraz pokazuje błąd CODE Fatal error: Cannot use object of type DB_Error as array in /home/qpr48531/public_html/modules/projekty.php on line 95 Sprawdziłem i wiem że problem stanowi nadal nieprawidłowa zamiana id przez regułę. Masz może jeszcze jakieś pomysły? |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 86 Pomógł: 18 Dołączył: 28.04.2008 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
a to jak wpiszesz
Kod index.php?go=projekty&typ=projekty&id=81&order=ocena%20DESC to jest OK? a co masz w linijce 95 pliku projekty.php? zrób sobie nowy plik projekty.php i wyświetl w nim tylko zmienne: Kod <?php echo 'go='.$_GET['go'].'<br/> typ='.$_GET['typ'].'<br/> id='.$_GET['id'].'<br/> order='.$_GET['order']; ?> i będziesz wiedział co masz źle |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 19.09.2008 Ostrzeżenie: (0%) ![]() ![]() |
a to jak wpiszesz Kod index.php?go=projekty&typ=projekty&id=81&order=ocena%20DESC to jest OK? a co masz w linijce 95 pliku projekty.php? zrób sobie nowy plik projekty.php i wyświetl w nim tylko zmienne: Kod <?php echo 'go='.$_GET['go'].'<br/> typ='.$_GET['typ'].'<br/> id='.$_GET['id'].'<br/> order='.$_GET['order']; ?> i będziesz wiedział co masz źle to działa bez problemu: Kod http://www.kominki.net/index.php?go=projekty&typ=projekty&id=81&order=ocena%20DESC od 95 linii jest taki kod: CODE for($i=0; $i if($proj[$i][0] == $id) { if (isset($proj[$i-1][0])) $menu[0] = $proj[$i-1][0]; if (isset($proj[$i+1][0])) $menu[1] = $proj[$i+1][0]; } Utworzyłem też tak jak radziłeś ten plik php i to wyrzuciło: CODE go=projekty typ=projekty id=81 order=ocena0DESC ale dalej nie wiem co z tym zadziałać? Po tym co wyrzuciło widać że po zastosowaniu reguły nieprawidłowo określony jest order. Jest Kod order=ocena0DESC a powinno być Kod order=ocena DESC bo tak jest w linku pierwotnym.Wiesz może jak zmodyfikować tą Twoją regułę aby pozbyć się tego zera które chyba stanowi problem? |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 86 Pomógł: 18 Dołączył: 28.04.2008 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
a dlaczego ten for niedokończony??
for($i=0; $i co do zmiennych jest ok nawet z id tylko ocena0DESC jest bez %20 spróbuj Kod RewriteRule ^projekt_kominka_([0-9]+).html$ /index.php?go=projekty&typ=projekty&id=$1&order=ocena DESC [L]
Ten post edytował hateman 19.09.2008, 22:29:36 |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 74 Pomógł: 5 Dołączył: 17.07.2007 Skąd: Krakow Ostrzeżenie: (0%) ![]() ![]() |
Popraw ten kod od lini 95 (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
musisz dodać warunek, tego niestety za Ciebie nie zrobię (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) I pewnie ruszy. Ten post edytował simple programmer 19.09.2008, 22:31:29 |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 86 Pomógł: 18 Dołączył: 28.04.2008 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
sprawdziłem na swoim serwerze taka reguła wyświetla poprawnie zmienną order
Kod RewriteRule ^projekt_kominka_([0-9]+).html$ /index.php?go=projekty&typ=projekty&id=$1&order=ocena\%20DESC [L]
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 19.09.2008 Ostrzeżenie: (0%) ![]() ![]() |
wprowadziłem Cię w błąd.
Skopiowałem całą pętlę for ale w lini 95 to jest to: Kod if($proj[$i][0] == $id) { Chyba jednak to nie wina kodu bo bez przekierowania działa to bez problemu. |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 86 Pomógł: 18 Dołączył: 28.04.2008 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
to nie zmienia faktu, że ten for jest niedokończony
a zmieniłeś tą linijkę na tą co Ci podałem? trzeba wrzucić "\" przed "%" |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 19.09.2008 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki działa! (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)
zadziałało gdy dodałem do tej Twojej reguły jeszcze ten "\" przed %20 jak pisałeś. Pętli for nie zmieniałem bo i tak działa a nie bardzo wiem co tam ruszyć... Dzięki wielkie |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 21:58 |