Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Przyjazne linki + dodatkowe zmienne - mod_rewrite
new
post
Post #1





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 22.09.2010

Ostrzeżenie: (0%)
-----


Witam wszystkich

jestem tu początkujący i mam takie pytanie:

jak oprogramować w PHP i .htaccess obsługę przyjaznych linków, tak aby część zmiennych obsługiwała adres podstrony a część dodatkowe zmienne:

Przykładowo:
  1. strona.pl?adres1=wodne&adres2=kajaki&alert=1&info=2
  2. strona.pl/wodne/kajaki/alert/1/info/2/

chcę żeby skrypt zainkludował podstronę /wodne/kajaki.php
i na tej podstronie obsłużył zmienne $_GET['alert'] i $_GET['info']

jest kilka poziomów podstron np:
  1. strona.pl/wodne/alert/1/info/2/ //(/wodne.php)
  2. strona.pl/wodne/kajaki/niebieskie/alert/1/info/2/ //(/wodne/kajaki/niebieskie.php)


Proszę o pomoc
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
franki01
post
Post #2





Grupa: Zarejestrowani
Postów: 508
Pomógł: 75
Dołączył: 2.11.2005
Skąd: Bydgoszcz

Ostrzeżenie: (0%)
-----


  1. $realpath = str_replace('/', '', $_SERVER['REQUEST_URI']); # pierwszy argument to katalog w URLu, w którym znajduje się strona
  2. $urlvars = array_filter(explode('/', $realpath));


W $urlvars będziesz miał tablicę tych zmiennych, które przekazujesz przez URL. Tablica będzie indeksowana po kolei od 0.

Np. dla http://domena.pl/strona/costam/innego/ $urlvars będzie zawierała [0] => 'strona', [1] => 'costam', [2] => 'innego'.
Na podstawie $urlvars możesz robić co chcesz.

W .htaccess przekierowujesz wszystko przez:
Kod
RewriteEngine On
RewriteRule .* index.php


W katalogu ze stroną robisz katalog /static/, w który wrzucasz wszystkie pliki dostępne dla użytkownika (css, obrazki, .js). Bezpośrednio w katalogu /static/ robisz plik .htaccess o poniższej treści:
Kod
RewriteEngine Off


Przy przyjaznych linkach typu http://domena.pl/zmienna1/zmienna2/zmienna3/ to jest najelastyczniejsza struktura.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 12.10.2025 - 15:21