Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [mod_rewrite] Kropki w adresach...
Forum PHP.pl > Forum > Serwery WWW > Apache
my_key
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.
erix
Kropka jest znakiem specjalnym, trzeba ją escape'ować.

Poza tym, przerzuciłbym parsowanie regułek na PHP, bo robi się bałagan. tongue.gif
my_key
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.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.