Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [mod_rewrite] Kropki w adresach...
my_key
post 24.07.2009, 09:52:22
Post #1





Grupa: Zarejestrowani
Postów: 38
Pomógł: 0
Dołączył: 5.03.2006

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


Witam.

Mam linki takiego typu: /lng/pg/prm1/prm2/... itd.

Mam takiego .htaccess który przepisuje mi linki:

Kod
RewriteRule ^([^/.]+)/([^/.]+)/([^/.]+)/([^/.]+)/?$ index.php?lng=$1&pg=$2&prm1=$3&prm2=$4            [L]
RewriteRule ^([^/.]+)/([^/.]+)/([^/.]+)/?$ index.php?lng=$1&pg=$2&prm1=$3          [L]
RewriteRule ^([^/.]+)/([^/.]+)/?$ index.php?lng=$1&pg=$2            [L]
RewriteRule ^([^/.]+)/?$ index.php?lng=pl&pg=$1


Wszystko działa poprawnie, jednak problem robi się gdy chcę w którymś parametrze użyć wartości z kropką "." np: 'nazwa_zdjecia.jpg".
Zmieniam reguły na:

Kod
RewriteRule ^([^/]+)/([^/]+)/([^/]+)/([^/]+)/?$ index.php?lng=$1&pg=$2&prm1=$3&prm2=$4            [L]
RewriteRule ^([^/]+)/([^/]+)/([^/]+)/?$ index.php?lng=$1&pg=$2&prm1=$3            [L]
RewriteRule ^([^/]+)/([^/]+)/?$ index.php?lng=$1&pg=$2            [L]
RewriteRule ^([^/]+)/?$ index.php?lng=pl&pg=$1            [L]


I pojawia się problem. W tablic $_GET otrzymuję następujące wartości:

  1. <?php
  2. (
  3.    [lng] => pl
  4.    [pg] => index.php
  5. )
  6. ?>


Jak napisać regułę aby można w parametrach używać wartości z kropkami?

Z góry dziękuję za pomoc.
Pozdrawiam.


--------------------
Nowoczesne rozwiązania dla biznesu wtsoft.pl - kreujemy twoją przyszłość.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
erix
post 24.07.2009, 11:05:07
Post #2





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Kropka jest znakiem specjalnym, trzeba ją escape'ować.

Poza tym, przerzuciłbym parsowanie regułek na PHP, bo robi się bałagan. tongue.gif


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
my_key
post 24.07.2009, 11:11:37
Post #3





Grupa: Zarejestrowani
Postów: 38
Pomógł: 0
Dołączył: 5.03.2006

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


Wiem, że kropka jest znakiem specjalnym smile.gif
W drugim przypadku (który właśnie nie działa) nie używam kropek, wiec nie do końca rozumiem Twojej podpowiedzi...
Mógłbym prosić o przykład?

Nie wiem czy do końca dobrze zostałem zrozumiany:)
Potrzebuje uzyskać taki działający link:
Kod
http://www.domena.pl/pl/zdjecie/nazwa_zdjecia.jpg


Jak poprawić napisane przeze mnie reguły abym mógł używać wartości z kropkami "." w linkach.

Ten post edytował my_key 24.07.2009, 16:23:44


--------------------
Nowoczesne rozwiązania dla biznesu wtsoft.pl - kreujemy twoją przyszłość.
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 02:04