Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: mod rewrite
Forum PHP.pl > Forum > Serwery WWW
matix
Witam,
Chciałem zapytać, jak zrobić linki typu:

  1. twojastrona.pl/?2:2
  2. twojastrona.pl/?3:5:::5:3


za pomocą mod-u rewrite.

Chodzi o zastąpienie linków:

  1. twojastrona.pl/index.php?show=artykuly&id=1

na:
  1. twojastrona.pl/?1:1


Koniecznie pytajniczek, tak jak na owned.pl smile.gif

Wiem, że na modzie rewrite można robić bardziej przejrzyste kombinacje, ale ta mi się podoba, a nie wiem jak ją zrobić.
Z góry dziękuję za pomoc smile.gif
devnul
mod rewrite jest tu zupełnie zbędne, czemu? a no temu że to: http://serwer.pl/index.php?1:2:3:4:5 jet równe temu http://serwer.pl/?1:2:3:4:5

co trzeba zrobić?

a zapoznać się ze zmienną
  1. <?php
  2. echo $_SERVER['QUERY_STRING'];
  3. ?>


pozdrawiam
matix
Wielkie dzięki ! Na to bym nie wpadł smile.gif
Podam poniżej prosty sposób użycia, na wszelki wypadek, gdyby ktoś też tego potrzebował:

  1. <?
  2. $str = $_SERVER['query_string'];
  3. $tnij = explode(":", $str); /*mozna oczywiscie zmienic*/
  4.  
  5. // zmienna pierwsza, zaraz po pytajniku: what, natomiast zmienna ID będzie zmienną
     drugą.
  6. $what = $tnij[0];
  7. $id = $tnij[1];
  8.  
  9. if (isset($id.'.php')) {
  10. if (is_file($id.'.php')) {
  11. include $id.'.php';
  12. }else{
  13. print 'brak pliku';
  14. }
  15. }else{
  16. print 'brak zmiennych/zmiennej';
  17. }
  18. ?>


Pozdrawiam smile.gif
devnul
masz tak:
  1. <?php
  2. $_SERVER['query_string'];
  3. ?>


a powinno być tak:

  1. <?php
  2. $_SERVER['QUERY_STRING'];
  3. ?>

nazwy stałych predeiniowanych w tym tablic superglobalnych i ich indexy pisane są wielkimi literami
matix
to bez znaczenia. można napisać z małych liter.
devnul
mówisz?
  1. <?php
  2. $tab['ala']='ma kota';
  3. $tab['ALA']='ma psa';
  4. print_r($tab);
  5. ?>
matix
Wiem, ale to akurat jest tablica.
spróbuj sobie wywołać:
$_SERVER['QUERY_STRING'];
a potem
$_SERVER['query_string'];

i zobaczysz, że nie ma róznicy. Mnie chodzi o to.
devnul
$_SERVER to tez tablica jakbyś nie zauważył - tyle że superglobalna
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.