Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [mod_probe] adres w adresie
Forum PHP.pl > Forum > Serwery WWW
user123
Witam!

Jak zrobić poprawnie zapytanie w htaccess dla takiego przykladu

http://php.pl/strona,http://forum.php.pl

zrobiłem następująco:

RewriteRule ^strona,([[:word:][:punct:][:space:]]*)/?$ index.php?strona=$1

tylko przy wypisaniu pobranego adresu (strone=$1) otrzymuje cos w postaci http:/forum.php.pl i nie wiem w jaki sposób przy nazwie protokołu mieć dwa slashe oraz drugi problem gdy w adresie pojawia się ? to dalsza część jest ucinana

Czy spotkaliście się już z czymś podobnym??
ddiceman
rawurlencode()
user123
może ktoś mi wyjaśnić w jakis sposób mam skorzystać z tej funkcji gdy w adresie jest ? ponieważ gdy np.

http://php.pl/strona,http://forum.php.pl/dane=44?a=asdf

to gdy wypisze wczytany adres mam coś w postaci http://forum.php.pl/dane=44, a nie ma tego a=asdf, po prostu końcówka znika i nie mam pojecia jak to rozwiązać
ddiceman
1. Linki generujesz sobie poprzez
  1. <?php
  2. $adres = 'http://forum.php.pl/dane=44?a=asdf';
  3. echo 'http://php.pl/strona,' . rawurlencode($adres);
  4. ?>


2. Dodajesz regułę translacji

Kod
RewriteRule ^strona,(.*) redirect.php?strona=$1


3. Tworzysz plik redirect.php
  1. <?php
  2. header('Location: '.rawurldecode($_GET['strona']));
  3. ?>


lub

Jeśli Twój filtr odpowiedzialny za rwrite obsługuje flagę Query String Append ([QSA]), to wystarczy

Kod
RewriteRule ^strona,([[:word:][:punct:][:space:]]*)/?$ index.php?strona=$1 [QSA]
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.