Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][mod rewrite] Problem z regułą...
Forum PHP.pl > Forum > Przedszkole
novum
Witam,

Mam na swojej stronie taki plik, który zawiera pewne zmienne get:

Kod
/pokazuj.php?art=$tytul_artu&id=$id_artu


czyli np.

Kod
/pokazuj.php?art=oto_jest_tytul_art_1&id=5


Chciałbym go skrócić za pomocą mod rewrite do:

Kod
/pokazuj,oto_jest_tytul_art_1,d5.html.


Próbowałem już kilku reguł, ale niestety gdzieś robie błąd i strona dalej się niw wyświetla. Proszę zatem kogoś z Was o pomoc. Jak napisać taką regułę? Moja (niedziałająca reguła):

Kod
RewriteRule ^pokazuj,[a-z0-9\-\_]+,([0-9]+)\.html$ pokazuj.php?title=$1&id=$2


Poza tym, chciałbym zapytać, za pomocą jakiej funkcji w php zmienić w ciągu pewne znaki na inne. Potrzebne mi to będzie to budowania poprawnych linków. Dajmy na to, tytuł ma postać: Tekst który możesz Przeczytać. Zmiana wielkości liter to pikuś, ale chciałbym także aby polskie znaki były wymieniane na te bez ogonków, a znaki spacji na '_'. Ostatecznie string będzie miał wyglądac tak: tekst_ktory_mozesz_przeczytac. Za pomocą jakiej funkcji można to zrobić?
phpion
Chyba brakuje Ci () oraz "d" w regułce. Link masz postaci:
/pokazuj,oto_jest_tytul_art_1,d5.html.
a twrozysz regułę bez "d".
RewriteRule ^pokazuj,[a-z0-9\-\_]+,([0-9]+)\.html$ pokazuj.php?title=$1&id=$2
Spróbuj tak:
Kod
RewriteRule ^pokazuj,([a-z0-9\-\_]+),d([0-9]+)\.html$ pokazuj.php?title=$1&id=$2


Co do drugiego pytania: musisz takową funkcję napisać sobie sam. Nie jest to trudne - zwykłe str_replace" title="Zobacz w manualu PHP" target="_manual.
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.