Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> mod rewrite, :)
matix
post
Post #1





Grupa: Zarejestrowani
Postów: 278
Pomógł: 10
Dołączył: 13.02.2007
Skąd: Rybnik

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


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 (IMG:http://forum.php.pl/style_emoticons/default/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 (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Ten post edytował matix 15.04.2007, 09:53:47
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
devnul
post
Post #2





Grupa: Zarejestrowani
Postów: 1 470
Pomógł: 75
Dołączył: 21.09.2005
Skąd: że znowu

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


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
Go to the top of the page
+Quote Post
matix
post
Post #3





Grupa: Zarejestrowani
Postów: 278
Pomógł: 10
Dołączył: 13.02.2007
Skąd: Rybnik

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


Wielkie dzięki ! Na to bym nie wpadł (IMG:http://forum.php.pl/style_emoticons/default/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 (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
devnul
post
Post #4





Grupa: Zarejestrowani
Postów: 1 470
Pomógł: 75
Dołączył: 21.09.2005
Skąd: że znowu

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


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
Go to the top of the page
+Quote Post
matix
post
Post #5





Grupa: Zarejestrowani
Postów: 278
Pomógł: 10
Dołączył: 13.02.2007
Skąd: Rybnik

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


to bez znaczenia. można napisać z małych liter.
Go to the top of the page
+Quote Post
devnul
post
Post #6





Grupa: Zarejestrowani
Postów: 1 470
Pomógł: 75
Dołączył: 21.09.2005
Skąd: że znowu

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


mówisz?
  1. <?php
  2. $tab['ala']='ma kota';
  3. $tab['ALA']='ma psa';
  4. print_r($tab);
  5. ?>
Go to the top of the page
+Quote Post
matix
post
Post #7





Grupa: Zarejestrowani
Postów: 278
Pomógł: 10
Dołączył: 13.02.2007
Skąd: Rybnik

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


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.
Go to the top of the page
+Quote Post
devnul
post
Post #8





Grupa: Zarejestrowani
Postów: 1 470
Pomógł: 75
Dołączył: 21.09.2005
Skąd: że znowu

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


$_SERVER to tez tablica jakbyś nie zauważył - tyle że superglobalna
Go to the top of the page
+Quote Post

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: 23.08.2025 - 20:44