Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: pomoc z mod_rewrite
Forum PHP.pl > Forum > Przedszkole
issacc
Chciałbym skorzystać z mod_rewrite na stronie http://www.stema.pl
Mam jednak parę pytań...
Chciałby aby strona http://www.stema.pl/index.php?id=1 wyświetlała się tak: http://www.stema.pl/dachy.html
A np strona http://www.stema.pl/index.php?id=1&sub_id=0 o tak: http://www.stema.pl/dachy/gonty_bitumiczne.html
Inne podstrony na tej samej regule. Czyli żeby w adresie pokazywał się tekst taki jak w menu głównym. Czy muszę wszystko pisać w htaccess po kolei (podstron jest około 110) czy dało by się to jakoś inaczej wykombinować??
Bo pisania tego typu:
Rewriterule dachy/gonty_bitumiczne.html http://www.stema.pl/index.php?id=1&sub_id=0
Będzie trochę dużo... Czy mógłbym to jakoś zrobić inaczej?
siemakuba
Z mojego doświadczenia wynika, że najbardziej uniwersalne będzie przerzucenie decyzji o tym co faktycznie wyświetlić z Apache na php.

Używam w .htaccess następującej konfiguracji:
Kod
RewriteEngine On
RewriteBase   /

RewriteCond    %{REQUEST_FILENAME} !-s
RewriteCond    %{REQUEST_FILENAME} !-d
RewriteRule    ^(.*)$    index.php?resolve=$1 [NC,QSA,L]


Dzięki temu, zawsze w $_GET['resolve'] mam cały podany URL a w reszcie tablicy jeszcze ewentualne parametry.

Dla zapytania http://www.stema.pl/dachy/gonty_bitumiczne.html, przy takiej konstrukcji .htaccess wartość $_GET['resolve'] będzie dachy/gonty_bitumiczne.html. Teraz, pozostaje ci napisanie kawałka kodu w php, który przetłumaczy takie zapytanie na odpowiednie id i sub_id i dalej twoje skrypty powinny działać jak należy. Menu zapewne masz gdzieś ustalone (DB, tablica, plik ini) - polecam dodanie do opisu danych dla menu pola meta_name czy coś w tym stylu. W tym polu będziesz trzymał informacje jakich danych użyć w URLu. Przykładowo, dla pozycji w menu "Gonty bitumiczne", wartość meta_name będzie gonty_bitumiczne. Dalej już wszystko jasne - tłumaczysz na podstawie danych z zapytania i wyświetlasz co trzeba :)

pozdr.
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.