Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php]przepisywanie adresu (Przyjazne URL za pomoca php)
matyskiewicz
post 12.10.2006, 12:56:58
Post #1





Grupa: Zarejestrowani
Postów: 184
Pomógł: 3
Dołączył: 6.10.2006
Skąd: Poznań

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


Mój niedobry administrator nie udostępnia na swym serwerze opcji umożliwiającej wykorzystanie jednego z jednego z podanych na portalu php.pl przykładów 'upiększających' URL. Czy istnieje możliwość przepisania URLu za pomocą php? Prosiłbym o przykład na konkretnym URLu:

artykul.php?dzial=felietony&nr=123&strona=5 => artykul,felietony,123,5.html

gdzie pochyłe częsci adresu są zczytywane z bazy.
Dziękuję za okazane zainteresowanie, i ewentualna pomoc. Pozdrawiam


--------------------
eclipse :)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Speedy
post 12.10.2006, 13:34:49
Post #2





Grupa: Zarejestrowani
Postów: 651
Pomógł: 28
Dołączył: 4.12.2004

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


  1. <?php
  2. function niceUrl()
  3. {
  4. $request = explode('?',$_SERVER['REQUEST_URI']);
  5. $vars = explode(',',$request[1]);
  6. return $vars;
  7. }
  8.  
  9. $tablica = niceUrl();
  10.  
  11.  /*
  12.  po uruchomieniu adresu: artykul.php?felietony,123,5
  13.  do tablicy zostaną załadowane odpowiednie dane
  14.  */
  15.  
  16. $dzial = $tablica[0];
  17. $nr = $tablica[1];
  18. $strona = $tablica[2];
  19. ?>


Jak chcesz mieć przecinek też zamiast .php? To możesz utworzyć plik artykul i w pliku .htaccess zdefiniować jego typ jako aplikację php.

Kod
<Files artykul>
ForceType application/x-httpd-php
</Files>


Wtedy usuniesz z powyższego skryptu część rozbijającą ciąg na tablicę z separatorem "?".

Funkcja może wtedy wyglądać tak:

  1. <?php
  2. function niceUrls2($baseFile = 'artykul')
  3. { 
  4.  
  5. if(strstr($_SERVER['REQUEST_URI'],$baseFile))
  6. {
  7. $params = explode($baseFile.',',$_SERVER['REQUEST_URI']);
  8. }
  9.  
  10. $params = explode(',',$params[1]);
  11.  
  12.  return $params;
  13. }
  14. ?>


Ten post edytował Speedy 12.10.2006, 13:38:59


--------------------
Sygnatura niezgodna z regulaminem.
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 21:46