[inne][MOD_REWRITE] Problem |
[inne][MOD_REWRITE] Problem |
19.11.2011, 10:49:33
Post
#1
|
|
Grupa: Zarejestrowani Postów: 201 Pomógł: 0 Dołączył: 6.01.2009 Ostrzeżenie: (20%) |
Stworzyłem taki oto mod_rewrite:
RewriteRule ^([0-9]+),.*\.php?strona=strona([0-9]+)$ /artykul.php?id=$1&strona=$2 a link wyglada w tej postaci: http://strona/10016,art-art-art.php?strona=2 I coś pomieszałem, bo jak wklepuje ten link to wyświetla, że nie ma takiej strony, mimo, że ona jest Ktoś mi może wskazać co zrobiłem źle? -------------------- |
|
|
19.11.2011, 11:03:46
Post
#2
|
|
Grupa: Zarejestrowani Postów: 127 Pomógł: 15 Dołączył: 16.02.2008 Skąd: Sanok Ostrzeżenie: (0%) |
strona=strona([0-9]+)
|
|
|
19.11.2011, 16:15:09
Post
#3
|
|
Grupa: Zarejestrowani Postów: 201 Pomógł: 0 Dołączył: 6.01.2009 Ostrzeżenie: (20%) |
Poprawienie na: strona=([0-9]+) też nie skutkuje
może coś jest pomieszane z całym wyrażeniem, a nie tylko tym fragmentem? -------------------- |
|
|
19.11.2011, 16:17:32
Post
#4
|
|
Grupa: Moderatorzy Postów: 36 477 Pomógł: 6301 Dołączył: 27.12.2004 |
w Rewrite Rule nie podaje się regułek dla rzeczy, które są za ? (query string)
Zainteresuj się flagą [QS] -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
19.11.2011, 16:21:24
Post
#5
|
|
Grupa: Zarejestrowani Postów: 201 Pomógł: 0 Dołączył: 6.01.2009 Ostrzeżenie: (20%) |
też probówałem i nie wyszło:
RewriteRule ^([0-9]+),.*\.php/strona(.+)=([0-9]+)$ /article.php?id=$1&strona=$2 -------------------- |
|
|
19.11.2011, 16:23:02
Post
#6
|
|
Grupa: Moderatorzy Postów: 36 477 Pomógł: 6301 Dołączył: 27.12.2004 |
yy, co próbowałeś? Bo chyba nie odnosisz się do mojego posta?
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
19.11.2011, 16:24:52
Post
#7
|
|
Grupa: Zarejestrowani Postów: 201 Pomógł: 0 Dołączył: 6.01.2009 Ostrzeżenie: (20%) |
kurka felek, już nie wiem co mam począć, bo w który róg nie pójdę, tam mi nie wychodzi
-------------------- |
|
|
19.11.2011, 16:28:46
Post
#8
|
|
Grupa: Moderatorzy Postów: 36 477 Pomógł: 6301 Dołączył: 27.12.2004 |
Bo zamiast przeczytać ze zrozumieniem co ci piszą to walisz jak głupi bez celu.
Napisałem ci ze wszystko po ? nie jest brane pod uwagę. A ty co? A ty zamieniasz ? na /. No co ma piernik do wiatraka? W RewriteRule brane pod uwagę są rzeczy bez query string - wszystko to co po ? to jest query string. Napisałem ci również słowo klucz [QS] - zainteresuj się tym, a nie strzelasz. edit: poprawka, nie QS a QSA -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
19.11.2011, 16:42:41
Post
#9
|
|
Grupa: Zarejestrowani Postów: 201 Pomógł: 0 Dołączył: 6.01.2009 Ostrzeżenie: (20%) |
Też nie trybi: RewriteRule ^([0-9]+),.*\.php$ /artykul.php?id=$1&strona=Request.QueryString("strona")
-------------------- |
|
|
19.11.2011, 16:45:32
Post
#10
|
|
Grupa: Moderatorzy Postów: 36 477 Pomógł: 6301 Dołączył: 27.12.2004 |
Request.QueryString("strona")
skądżes to wytrzasnął Wpisałem w google: mode rewrite qsa I pierwszy polski link wyjaśnia tę sprawę na 100% Cytat zasami potrzebne jest doczepienie całego zapytania query string. Służy do tego flaga QSA. # przy wywołaniu test.html?parametr=2 # zostanie uruchomiony index.php?a=$1¶metr=2 RewriteRule ^(.*).html$ index.php?a=$1 [QSA] O przejrzeniu innych linków już nie wspominając. -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
19.11.2011, 16:54:53
Post
#11
|
|
Grupa: Zarejestrowani Postów: 201 Pomógł: 0 Dołączył: 6.01.2009 Ostrzeżenie: (20%) |
Nadal jasny gwint nie działa:
RewriteRule ^([0-9]+),.*\.php$ /artykul.php?id=$1 RewriteRule ^php.(.*)$ artykul.php?strona=$1 [QSA] -------------------- |
|
|
19.11.2011, 16:56:51
Post
#12
|
|
Grupa: Moderatorzy Postów: 36 477 Pomógł: 6301 Dołączył: 27.12.2004 |
Zmien: .*
na: .*? RewriteRule ^php.(.*)$ artykul.php?strona=$1 [QSA] Brak sił. A ta linijka nagle skad? Tak ma byc i tylko to: RewriteRule ^([0-9]+),.*?\.php$ artykul.php?id=$1 [QSA]
Powód edycji: [nospor]:
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
19.11.2011, 16:58:48
Post
#13
|
|
Grupa: Zarejestrowani Postów: 201 Pomógł: 0 Dołączył: 6.01.2009 Ostrzeżenie: (20%) |
Działa kolego! Powiedz mi tylko na koniec, gdzie jest odniesienie do tej drugiej zmiennej? czyli strony?
-------------------- |
|
|
19.11.2011, 17:05:02
Post
#14
|
|
Grupa: Moderatorzy Postów: 36 477 Pomógł: 6301 Dołączył: 27.12.2004 |
No QSA. Ty w ogóle nie przeczytałeś tego, co ci zacytowałem z polskiego arta....
Cytat zasami potrzebne jest doczepienie całego zapytania query string. Służy do tego flaga QSA. # przy wywołaniu test.html?parametr=2 # zostanie uruchomiony index.php?a=$1¶metr=2 RewriteRule ^(.*).html$ index.php?a=$1 [QSA] -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
Wersja Lo-Fi | Aktualny czas: 10.06.2024 - 02:44 |