Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP + mod_rewrite] pewna reguła
Forum PHP.pl > Forum > Przedszkole
zakaru
witam,
z mod_rewrite dopiero co przygode zaczalem i zastanawia mnie jeden fakt.
mam taki oto link:
  1. <?php
  2. <a href="teksty.php?artysta='.$artysta.'&nagranie='.$nagranie.'"</a>
  3. ?>

i daje cos takiego do przepisywania tego linku:
  1. <?php
  2. RewriteRule teksty/([a-z0-9A-Z]+)/([a-z0-9A-Z]+)$ teksty.php?artysta=$1&nagranie=$2
  3. ?>


w sumie powiem tak... działa... ale nie zawsze.
bo jezeli jest np link ktory zawiera spacje w zmiennej artysta albo nagranie to juz sie wszystko wali. podobnie jest jezeli wystepuja znaki specjalne typu "-", "=" i cyfry... ktos wie jak sobie z tym poradzic?
John
Musisz filtrować przekazywane zmienne, jednak może pojawić się problemy jeśli służą one do identyfikacji, wtedy masz dwa rozwiązania, albo do bazy ( jako identyfikacje ) wpisywać przefiltrowane nazwy czyli np. Moj_Artysta , Jego_Utwor_O_Jakiejs_Nazwie ewentualnie dorzucić trzecią zmienną w postaci gdzieś upchniętego id. np teksty/Moj_Artysta/Jego_Utwor_Jakas_Nazwa,12124124124124.html
SirZooro
Twój problem powinno rozwiązać podanie grup składających się ze wszystkich znaków oprócz slasha:
Kod
RewriteRule teksty/([^/]+)/([^/]+)$ teksty.php?artysta=$1&nagranie=$2
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.