![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Hej,
mam aplikacje, w niej w głównym katalogu plik .htaccess i chciałbym dokonać następujących zmian: Kod url/jakistekst -------na: url/?m=jakistekst url/jakistekst/jakistekst2 -------na: url/?m=jakistekst&a=jakistekst2 No i gdy przyjme narazie ze chce tylko pierwszą zamiane: Kod RewriteRule (.+) ?m=$1 To dziala. Ale gdy dorzucę drugą:Kod RewriteRule (.+) ?m=$1 RewriteRule (.+)/(.+) ?m=$1&a=$2 To oczywiscie jakby nie bral jej pod uwagę i adres: url/jakistekst/jakistekst2 zamienia na ?m=jakistekst/jakistekst2 Zmiana kolejności rewritów też nie daje oczekiwanego porządku. -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#2
|
|
![]() Developer Grupa: Moderatorzy Postów: 3 045 Pomógł: 290 Dołączył: 20.01.2007 ![]() |
Nie wiem czy Cię dobrze zrozumiałem, ale jeśli chcesz aby po wpisaniu /url/jakis_tekst móc się odnosić do zmiennych m oraz a, to napisz tak:
Kod RewriteRule ([^/]+) ?m=$1 RewriteRule ([^/]+)/([^/]+) ?m=$1&a=$2 Jeśli chcesz aby po wpisaniu url/jakis_tekst pojawiało się ?m=jakis_tekst itp... to dodaj flagę R. Ten post edytował webdicepl 26.05.2007, 21:09:55 |
|
|
![]()
Post
#3
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Dzieki, ale zadzialalo cos takiego:
Kod RewriteRule (.+)/(.+) ?m=$1&a=$2 [L] RewriteRule (.+) ?m=$1 Tym razem nie laduja sie jednak cssy do strony. Dorobilem wiec: Kod rewritecond %{REQUEST_FILENAME} !^.*/css/.*$ I na poczatku dzialalo, a potem znowu przestalo. ![]() ps: twoje reguly nie dzialaja -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#4
|
|
![]() Developer Grupa: Moderatorzy Postów: 3 045 Pomógł: 290 Dołączył: 20.01.2007 ![]() |
Sprobuj tak:
Kod RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^([^/]+)$ index.php?m=$1 [L] RewriteRule ^([^/]+)/([^/]+)$ index.php?m=$1&a=$2 [L] EDIT: Co do css, działa Ci przy URL/tekst, a nie działa przy URL/tekst/tekst2 ? Jeśli tak to ustaw base href. Ten post edytował webdicepl 26.05.2007, 21:31:44 |
|
|
![]()
Post
#5
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Ok, juz lepiej. Reguły chwyta już dobrze, ale gorzej z cssami.
Gdy tam url/jakistekst to Łyknie css, ale gdy dam url/jakistekst1/jakistekst2 to juz css nie podłączy do strony edit: Cytat EDIT: Co do css, działa Ci przy URL/tekst, a nie działa przy URL/tekst/tekst2 ? Jeśli tak to ustaw base href. No coż, już nie działa css dla żadnego. Nie czaje tego, dzialalo dla jednego az nagle przestało dla kazdego. zaczynam siwiec w zastraszającym tempie... -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#6
|
|
![]() Developer Grupa: Moderatorzy Postów: 3 045 Pomógł: 290 Dołączył: 20.01.2007 ![]() |
Przykładowo mając plik main.css i otwierając stronę www.serwer.pl/tekst, plik main.css jest pobierany z www.serwer.pl/main.css, a jeśli podasz www.serwer.pl/tekst/tekst2 plik css jest pobierany z adresy www.serwer.pl/tekst/main.css, żeby tego uniknąć podaje się w pliku html coś takiego:
Jeśli to nie zadziała pokaż więcej kodu. |
|
|
![]()
Post
#7
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Dodalem base i dalej nic.
Teraz gdy mam te rewriterule, to nawet gdy wpisuje adresy, ktore nie sa lykanie przez rewrite rule, to css sie nie laduje. Cytat Jeśli to nie zadziała pokaż więcej kodu. Byc moze bedzie to lamerskie pytanie, no ale zwazywszy na późną pore sie odważę:o jakim kodzie mowisz? za bardzo nie wiem co cię może interesowac. php? html? jesli tak, to ktora czesc ![]() edit: wystarczy ze wyrzuce jeden rewrite, np ten: RewriteRule ^([^/]+)$ index.php?m=$1 [L] to css zaczyna dzialac ale gdy sa oba naraz to nie dziala -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#8
|
|
![]() Developer Grupa: Moderatorzy Postów: 3 045 Pomógł: 290 Dołączył: 20.01.2007 ![]() |
Może najpierw ja podam trochę kodu:
.htacess Kod RewriteEngine On RewriteBase / # tu pamiętaj że jeśli masz aplikacje w jakimś folderze, napisz RewriteBase /path/ RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^([^/]+)$ index.php?m=$1 [L] RewriteRule ^([^/]+)/([^/]+)$ index.php?m=$1&a=$2 [L] index.php main.css Kod body { background-color: #800000; } Wszystko jest w tym samym katalogu (w katalogu głównym serwera). Jeśli trzymasz to w jakimś podkatalogu to dodaj RewriteBase /nazwa_katalogu/ oraz w <base href="http://serwer.pl/nazwa_katalogu/" /> |
|
|
![]()
Post
#9
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Ok, jesli robie jak mowisz, to dziala. Potem zagniezdzam sciezki, czyli wchodze glepiej, tez dziala.
No a na mojej aplikacji nie dziala. No i dopiero wtedy dolukalem roznice miedzy tym co podajesz, a tym co mam. U ciebie index.php, .htaccess i main.css, lezą w tym samym katalogu. U mnie pliki css, leza jeszcze w katalogu css. Zalozylem wiec i u ciebie katalog css i do niego wrzucilem main.css i juz nie poszlo. Oto Twoja struktura po mojej modyfikacji: Kod index.php .htaccess css/main.css .htaccess: Kod RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^([^/]+)$ index.php?m=$1 [L] RewriteRule ^([^/]+)/([^/]+)$ index.php?m=$1&a=$2 [L] index.php
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#10
|
|
![]() Developer Grupa: Moderatorzy Postów: 3 045 Pomógł: 290 Dołączył: 20.01.2007 ![]() |
Kod RewriteEngine On
RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^([^/]+)$ index.php?m=$1 [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^([^/]+)/([^/]+)$ index.php?m=$1&a=$2 [L] Ten post edytował webdicepl 26.05.2007, 23:12:15 |
|
|
![]()
Post
#11
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Dałbym se głowę uciąć, iż wczoraj tak próbowałem
![]() No nic, działa. Dzięki wielkie ![]() ps: znasz jakiś dobry tutorial na to wszystko? -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#12
|
|
![]() Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%) ![]() ![]() |
nospor: w manualu sa podstawy teoretyczne, w jakiej kolejnosci to jest sprawdzane, opis znacznikow, rewritebase. Regexpy to regexpy. A przyklady mozna w necie znalezc
-------------------- Nie lubię jednorożców.
|
|
|
![]()
Post
#13
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat A przyklady mozna w necie znalezc No ba, szukałem i dużo mi to nie dało.Chyba zaczynam się uwsteczniać ![]() -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#14
|
|
![]() Developer Grupa: Moderatorzy Postów: 3 045 Pomógł: 290 Dołączył: 20.01.2007 ![]() |
http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html
http://home.pl/pomoc/kursy/rewrite http://maxprogram.pl/readarticle.php?article_id=10 http://sf.jogger.pl/2007/05/02/mod-rewrite-w-przykladach/ Kilka ciekawych rzeczy można się dowiedzieć. Ten post edytował webdicepl 27.05.2007, 12:07:11 |
|
|
![]()
Post
#15
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Fajne linki, dzięki. Powoli zaczynam kumać o co w tym biega
![]() edit: no to lecim dalej Kod url/jakistekst1/jakistekst2/par1:val1.html zamienic na: Kod url/?m=jakistekst1&a=jakistekst1&par1=val1 No to jest dosyc proste: Kod RewriteRule ^([^/]+)/([^/]+)/([^:]+):([^:]+)\.html$ ?m=$1&a=$2&$3=$4 [L] ale, tych par1:val1 moze byc do bolu, i odzielonych ::, czyli: Kod url/jakistekst1/jakistekst2/par1:val1::par2:val2::....parn:valn.html i zamienic to na: Kod url/?m=jakistekst1&a=jakistekst1&par1=val1&par2=val2.....&parn=valn I tu mam problem. Pewnie jakąś ladną rekurencje, ale jakoś mi się to nie widzi. -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]() ![]()
Post
#16
|
|
![]() Grupa: Zarejestrowani Postów: 984 Pomógł: 41 Dołączył: 16.03.2002 Skąd: Płock Ostrzeżenie: (0%) ![]() ![]() |
Koledzy problem mam podobny. Mi także się sypie po dodaniu kończącego slasha. Ale co jest najśmieszniejsze. Base jest ustawiony. Firefox ma taką kontrolkę "Informacje o stronie". Tam jest np zakładka z odnośnikami na danej stronie.
Są podane dwie pozycje css z href'ami takimi, jakie powinny być - czyli działającymi. Ale te css w ogóle się nie ładują dzięki czemu mam surowy html na stronie lol. Strona jest w katalogu jednak zabawa w RewriteBase nic nie dała. Mam już dość :/ przykład: http://mojekontakty.com.pl/ogloszenia/dodaj - z CSS http://mojekontakty.com.pl/ogloszenia/dodaj/ - bez CSS .htaccess Kod RewriteEngine On
RewriteRule ^dodaj/?$ index.php?module=Add Ten post edytował em1X 5.10.2007, 19:37:55 -------------------- eh, co polska wódka to polska wódka
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 21.07.2025 - 07:25 |