Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [mod_rewrite] Problem z regułką, Powinna działać ale nie chce...
Sephirus
post
Post #1





Grupa: Zarejestrowani
Postów: 1 527
Pomógł: 438
Dołączył: 28.06.2011
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Witam. Normalnie nie zawracałbym nikomu głowy ale siedzę nad tym już jakąś chwilę...

Otóż mam w regułce wyrażenie typu:

Kod
strona/podstrona/(.+)/(.+)/(.*)/(.*)/(.+)


Przykładowo w takiej regułce:

Kod
RewriteRule ^strona/podstrona/(.+)/(.+)/(.*)/(.*)/(.+)$ index.php?a=$1&b=$2&c=$3&d=$4&e=$5 [L]


I teraz mam adres załóżmy:

strona/podstrona/1/2/3/4/5 - przechodzi (wszystko gra)

ale już

strona/podstrona/1/2///5 - już nie przechodzi (dokładnie rzecz biorąc reguła ta nie jest wg htaccess spełniona)

Mimo że zastosowałem .* czyli coś co być może ale nie musi to dla podanego adresu powyżej ta reguła nie działa... :/

Oczywiście jeśli wrzuciłbym bym to w PHPowy preg_match to śmiga (sprawdzałem) ale w htaccess nie chce...

Ktoś ma jakiś pomysł? :/
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Zamiast
.*
spróbuj
.*?
Go to the top of the page
+Quote Post
Sephirus
post
Post #3





Grupa: Zarejestrowani
Postów: 1 527
Pomógł: 438
Dołączył: 28.06.2011
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Dzięki nospor ale niestety nic to nie zmieniło (IMG:style_emoticons/default/sad.gif)
Go to the top of the page
+Quote Post
sf
post
Post #4





Grupa: Zarejestrowani
Postów: 1 597
Pomógł: 30
Dołączył: 19.02.2003
Skąd: Tychy

Ostrzeżenie: (0%)
-----


Problem stanowi sam zapis. Nie można stosować dwóch / obok siebie. Adres www.wp.pl////// prowadzi do www.wp.pl/. Następne / są ignorowane. Dlatego wiele stron stosuje przecinki, a nie /.

Ten post edytował sf 29.03.2012, 13:41:02
Go to the top of the page
+Quote Post
Sephirus
post
Post #5





Grupa: Zarejestrowani
Postów: 1 527
Pomógł: 438
Dołączył: 28.06.2011
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Bingo! Dzięki @sf masz całkowitą rację - nie przemyślałem tego - dodatkowo sama . jest za mocna więc albo trzeba dać ? (ungreedy) - THX @nospor albo uzyć czegoś w rodzaju [^/]* tylko oczywiście / zamienić na inny znak - lub , (IMG:style_emoticons/default/wink.gif)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 19:15