Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: przyjazne adresy
Forum PHP.pl > Forum > PHP
jarmiar
witam,

jak można zrobić przyjazny adres za pomocą mod_rewrite

chodzi mi o to, że zamiast wpisywać index.php?page=galeria

można wpisać /page/galeria

ja próbowałem to robić, ale coś mi nie wyszło.

dodam, że pliki mam includowane za pomocą :

  1. <?
  2. $page= $_GET['page'];
  3. if($page=="") $page="link1";
  4. if(!file_exists($page.".php")) 
  5. {
  6.  include "default.php";
  7. }
  8. else 
  9. {
  10. include_once $page.".php";
  11. }
  12.  
  13. ?>


Edit.

Szukałem w sieci i znalazłem taki kod do .htaccess
ale on nie działa:


Kod
RewriteEngine On
RewriteRule ^page/([a-zA-Z]+)/$ /index.php?page=$1
kossa
A masz odpalone mod_rewrite na serwerze?

Łukasz
jarmiar
mam. chodzi mi czy muszę coś w kodzie strony zmienić
Indeo
Nie musisz w kodzie nic zmieniac chyba, że strona ma sama sobie teraz generować przyjazne linki.
Jeśli mod_rewrite zadziała Twój skrypt będzie dostawał identyczne dane niezależnie, czy zostanie wywołany z adresu index.php?page=xxx czy /page/xxx/.

Skrypt tak naprawde nie musi nic wiedzieć o tym, że masz mod_rewrite włączony smile.gif ale czasami jak sie nie ma porządku w skryptach to może sie pogubić próbując doklejać łańcuszki do adresu url przy np. niekompletnie wypełnionych parametrach formularzy.
jarmiar
a dobrze jest wogóle ten kod zapisany ci podałem wyżej??

już sobie poprawiłem ten kod wszystko działa, ale jedna rzecz jeszcze nie.

a mianowicie parser wywala mi błąd jak wejde za pomocą /page/download/

a jeżeli użyję index.php?page=download to wszystko działa.

dlaczego tak się dzieje?
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.