Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Przyjazne linki i PATH_INFO
desavil
post
Post #1





Grupa: Zarejestrowani
Postów: 339
Pomógł: 3
Dołączył: 15.10.2008
Skąd: Internet

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


Witam,
Chciałem zrobić takie rozwiązanie, że w pliku .htaccess mam tylko jeden wpis:
  1. RewriteCond %{REQUEST_FILENAME} !-f
  2. RewriteCond %{REQUEST_FILENAME} !-d
  3. RewriteRule (.*) index.php/$1 [L]

A resztę już sobie przez PHP ustalam jeżeli chodzi o przyjazne linki. Zawartość pobieram za pomocą: $_SERVER['PATH_INFO'] oraz odpowiednio formatuje dane:
  1. $site_page = explode('/' ,$site_patchinfo);
  2. $site_page2 = explode('-' ,$site_patchinfo);

$site_page[0] odpowiada zawsze za includowany plik podstrony. Linki są w formie, np.
adrestrony.pl/kontakt
adrestrony.pl/newsy/12
adrestrony.pl/zarzadzaj-4312/usun
itp.

Chodzi mi o to, że mam problem w moim skrypcie z zrobieniem stron błędów (404) jeżeli dana podstrona nie zostanie odnaleziona.
Przypuśćmy ktoś wpisze:
adrestrony.pl/kontakt/costamcostam/12-12
Taki link u niego przejdzie, bo skrypt sprawdza jedynie czy plik o nazwie "kontakt" istnieje, a później do tego pliku jeżeli są potrzebne odpowiednie parametry dodatkowe to są pobierane z linka. Czy mogę jakoś zrobić, aby wyświetlać stronę błędu? Czy muszę koniecznie zdefiniować w PHP listę plików/podstron?
A może po prostu w .htaccess robić wszystkie linki, chociaż wydawało mi się w taki sposób to prostrze aby za każdym razem linka nie wpisywać, ale te strony błędów... a koniecznie chcę je mieć.

Pozdrawiam! Dziękuję za propozycje.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Lorum3
post
Post #2





Grupa: Zarejestrowani
Postów: 86
Pomógł: 5
Dołączył: 10.12.2011
Skąd: Poznań

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


Rozwiązanie w którym sprawdzasz tylko pierwszy parametr mija się z celem.

Logicznie będzie gdy pierwszy parametr będzie kontrolerem, drugi akcją i wtedy również sprawdzasz czy dana akcja istnieje. W przypadku braku czegokolwiek wszystko przekierowujesz na stronę główną, bądź 404.

Ten post edytował Lorum3 1.05.2012, 17:48:32
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: 8.10.2025 - 22:56