![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 41 Pomógł: 0 Dołączył: 2.12.2005 Ostrzeżenie: (0%) ![]() ![]() |
witam
przepraszam jesli poruszam cos co juz bylo, widocznie nie doszukalem sie przyznam ze jestem poczatkujacy jesli chodzi o mod rewrite mianowicie mam adres typu: strona.php?id=NUMER_ID i chcialbym go przekierowac na: DOWOLNY_CIAG_ZNAKOW-NUMER_ID.html numer ID w jednym i drugim adresie sie nie zmienia, dodany zostaje tylko ten dowolny ciag znakow w ktorym bedzie przemycany tytul ;-) czy cos takiego jest mozliwe? |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 117 Pomógł: 2 Dołączył: 29.01.2004 Skąd: Rz-ów Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 41 Pomógł: 0 Dołączył: 2.12.2005 Ostrzeżenie: (0%) ![]() ![]() |
chodzi o to ze ten dowolny ciag znakow bedzie prawdopodobnie inny dla kazdego id (bedzie to przefiltrowany z polskich i specjalnych znakow tytul) wiec zamiast niego chyba takze trzeba by bylo wstawic jakies wyrazenie regularne
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 117 Pomógł: 2 Dołączył: 29.01.2004 Skąd: Rz-ów Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 41 Pomógł: 0 Dołączył: 2.12.2005 Ostrzeżenie: (0%) ![]() ![]() |
a gdybym chcial przed cos-ID.html wstawic niezmienny ciag udajacy folder to moge to zrobic tak?:
czy tez moze
w sumie nie do konca rozumiem funkcje karetki-daszku na poczatku regulki (^) |
|
|
![]()
Post
#6
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 112 Pomógł: 20 Dołączył: 10.04.2005 Ostrzeżenie: (0%) ![]() ![]() |
w sumie nie do konca rozumiem funkcje karetki-daszku na poczatku regulki (^) karetka-daszek - przepiękne określenie :) do rzeczy, karetka-daszek ( :):) ) oznacza że jest to dokładnie początek ciągu który będziesz porównywał. pierwsza opcja którą przedstawiłeś będzie pasowało do wszystkiego co będzie zawierało ciąg folder/-([0-9]*).html, np. folder/-12.html, siemafolder/-12.html druga opcja, będzie pasowała do wszystkiego, co dokładnie pasuje do wzorca folder/-([0-9]*).html, więc folder/-12.html będzie pasowało, ale siemafolder/-12.html już nie. ^ - początek wzorca $ - koniec wzorca zbadaj tutaj: http://pl2.php.net/manual/pl/reference.pcr...tern.syntax.php - zasady są takie same. pozdr. |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 41 Pomógł: 0 Dołączył: 2.12.2005 Ostrzeżenie: (0%) ![]() ![]() |
tyle ze zarowno
jak i
bedzie pasowac chyba tylko do folder/-LICZBA.html czyli miedzy slashem a myslnikiem znika mi mozliwosc wstawienia tytulu jaka mialem tu
jak dostosowac ta powyzsza regulke poprawnie obslugiwala URL folder/DOW_CIAG_ZNAKO-NUMER_ID.html? BTW karetka-daszek wyszla z tego ze zaczalem sobie czytac o regulach i wyrazeniach i ten znak byl opisywany na przemian jako karetka i jako daszek ![]() |
|
|
![]()
Post
#8
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 112 Pomógł: 20 Dołączył: 10.04.2005 Ostrzeżenie: (0%) ![]() ![]() |
Kod RewriteRule ^folder/[^-]*-([0-9]*).html$ /strona.php?id=$1 [L] zamiast [^-]* możesz ograniczyć np. do samych liter ( [a-z] ), do liter i cyfr ( [a-z0-9] ). [^-] oznacza dowolny znak oprócz - (myślnik). jezeli będziedsz ograniczał do np. tylko liter, możesz do flagi [L] dopisać jeszcze flagę NC, wtedy nie będzie miała znaczenia wielkość znaków. ([L,NC]) pozdr. |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 41 Pomógł: 0 Dołączył: 2.12.2005 Ostrzeżenie: (0%) ![]() ![]() |
pozwol jeszcze ze zapytam czym dokladnie rozni sie gwiazdka (asteriks
![]() EDIT: po zastosowaniu ciagu ktory podales strona cie kaszanii, do URLi wkrada sie ten ciag "folder/" tzn. linki wygladaja tak strona.pl/folder/obrazek.jpg przez co nie laduja sie obrazki, css i cala reszta Ten post edytował kebq 30.05.2006, 21:30:57 |
|
|
![]()
Post
#10
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 112 Pomógł: 20 Dołączył: 10.04.2005 Ostrzeżenie: (0%) ![]() ![]() |
Kod pozwol jeszcze ze zapytam czym dokladnie rozni sie gwiazdka (asteriks od plusa? czy obydwa lacza ciagi? żadne z nich nie łączy ciągów :) no, chyba że inaczej rozumiemy te pojęcie * - łapie 0 lub więcej znaków które poprzedzają * + - łapie 1 lub więcej znaków które poprzedzają + Kod po zastosowaniu ciagu ktory podales strona cie kaszanii, do URLi wkrada sie ten ciag "folder/" tzn. linki wygladaja tak strona.pl/folder/obrazek.jpg przez co nie laduja sie obrazki, css i cala reszta rozumiem, że obrazek powinien załadować się z adresu strona.pl/obrazek.jpg a nie strona.pl/folder/obrazek.jpg wzięło się to z tego, że przeglądarka myśli że jesteś w podkatalogu /folder. A nie jesteś, ale to wie dopiero Apache :) Domyślam się też, że linki do obrazków, arkuszy css masz podane relatywnie? Masz dwa rozwiązania: 1. wszystkie linki robisz absolutne: 2. dodajesz w sekcji <head> tag <base> i wtedy wszystkie linki relatywne będą rozwiązywane na podstawie atrybutu href tego taga. pozdr. |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 41 Pomógł: 0 Dołączył: 2.12.2005 Ostrzeżenie: (0%) ![]() ![]() |
wielkie dzieki!
nad tym base glowkowal bym pewnie kilka dni ![]() a tak na powaznie to wszystko juz dziala BTW do osob czytajacych to w przyszlosci: tag base dodajemy przed jakimkolwiek linkiem np. powinien byc koniecznie przed linkowaniem do cssow Ten post edytował kebq 31.05.2006, 18:21:03 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 25.06.2025 - 20:06 |