Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [mod_rewite][php] funkcja przepisujaca
wiiir
post
Post #1





Grupa: Zarejestrowani
Postów: 260
Pomógł: 34
Dołączył: 22.02.2010

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


heja.. znalazlem taka funkcje

  1. <?php
  2. function rewrite_url_filter($data)
  3. {
  4. $link = $data[0];
  5. $link = ereg_replace('"$', '', $link);
  6. $link = explode('="', $link);
  7. $_link = $link[0];
  8. $link = $link[1];
  9. //reguly
  10. //trzy zmienne
  11. $link=preg_replace('#index.php\?zmienna1=([0-9]*)&zmienna2=([0-9]*)&zmienna3=([0-9]*)#', 'index-\\1-\\2-\\3.htm',$link);
  12. //dwie zmienne
  13. $link=preg_replace('#index.php\?zmienna1=([0-9]*)&zmienna2=([0-9]*)#', 'index-\\1-\\2.htm',$link);
  14. //jedna zmienna
  15. $link=preg_replace('#index.php\?zmienna1=([0-9]*)#', 'index-\\1.htm',$link);
  16.  
  17. $link=preg_replace('#index.php#','index.htm',$link);
  18. $link=preg_replace('#index.php#','index.htm',$link);
  19.  
  20. $link=preg_replace('#index.php#','index.htm',$link);
  21. $link=preg_replace('#rewrite_test.php#','rewrite_test.htm',$link);
  22.  
  23. $link = $_link.'="'.$link.'"';
  24. return $link;
  25. }
  26. function rewrite_ob_filter($string)
  27.  
  28. {
  29. return preg_replace_callback('/(href|src|action)\s*=\s*"[^"]+"/', 'rewrite_url_filter', $string);
  30. }
  31.  
  32. ob_start('rewrite_ob_filter');
  33. ?>


nie jestem autorem wiec podaje link http://forum.sprawnymarketing.pl/pozycjono...zyjazne-url-22/

no i teraz pytenie... poniewaz zaczynam budowac nowy portal zastanawialem sie na "przyjaznymi linkami" ze wzgledu na pozycjonowanie, serwis bedzie dosyc rozbudowany wiec pomyslalem ze taki automat bylby dobry .. latwo mozna dodac nowe regoly, zmieniac postac linku z index-1-2-3-4-5.html na index/1/2/3/4/5/ itd itp
no i teraz pytanie czy warto cos takiego zastosowac (mi sie to podoba), albo czy macie podobne skrypty lepiej dzialajace z ktorymi moglibyscie sie podzielic
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Pilsener
post
Post #2





Grupa: Zarejestrowani
Postów: 1 590
Pomógł: 185
Dołączył: 19.04.2006
Skąd: Gdańsk

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


Cytat
taki automat bylby dobry
- zapomnij. To prowizorka i amatorszczyzna, statyczne linki, które potem są podmieniane przez *_replace? A PHP to od czego masz? Powinieneś napisać funkcję/klasę generującą linki:
  1. function linki($parametry,$czy_przyjazne='0'){
  2. //kod tworzący linki
  3. }
- funkcja ma utworzyć link na podstawie tablicy parametrów oraz dodatkowego parametru, który mówi o tym, czy link ma być taki:
strona.pl/index.php?page=filmy/sensacyjne/zabili;go;i;uciekl.html
czy taki:
strona.pl/filmy/sensacyjne/zabili;go;i;uciekl.html

W ten sposób łatwo możesz zmienić sposób generowania linków bez ich przepisywania, co jest bardzo istotne dla elastyczności projektu, user powinien mieć opcję w PA linki nice on/off i tyle a programista możliwość łatwej modyfikacji sposobu generowania linków oraz ich tworzenia, wystarczy wrzucić tablicę parametrów do funkcji a ona zajmie się utworzeniem odpowiedniego odnośnika.

Podobnie odbieranie parametrów z linków ma się odbywać dynamicznie, niezależnie od tego, czy link jest przyjazny, nieprzyjazny, modyfikowany czy inny do silnika ma trafić przejrzysta tablica parametrów z wejścia. Chciałbyś się babrać w kilkaset reguł w .htaccess, przepisanie kilkunastu tysięcy statycznych linków + jeszcze zmiana kilkuset linijek kodu PHP bo trzeba zmienić coś w serwisie? Statyczne linki to samo zło.
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: 11.10.2025 - 01:40