Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Skrócenie adresu html
Forum PHP.pl > Forum > Optymalizacja i pozycjonowanie stron - SEO
br0nks
Witam,

Mój problem polega na tym, że używając seo i rewrite ex: "?id=12" na "cala-nazwa-tego-id-i-jego-numer-12.html" - wszystko działa super.
Tylko, że jeżeli czasami ten tekst w ID jest dłuższy niż 120-140 znaków, to przeglądarki już tego nie obsługują i wyskakuje informacja, że link nie działa.

I chciałbym jakoś zrobić by tylko pierwszych 120znaków przetwarzał mój SEO i tylko je zapisywał w nazwie html'a plus to moje id, a nie całe zdanie, które czasami ma ponad 300 znaków.

ps: oczywiście jeżeli mój url ma ponad np 300 znaków, to nawet jeżeli wpiszę np: http://adres.pl/dupa-30.html a nie jego pełną długość, to działa, ponieważ jest to id na końcu. Wiem, że to wiecie, ale lepiej to napisać tongue.gif

Czy mógłby mnie ktoś nakierować?
Będę bardzo wdzięczny!:)

Edit: chciałem dodać, że to co zostaje pobierane z bazy, zostaje zmienione na tekst z myślnikami poprzez kod:

  1. <?php
  2.  
  3. function clearDiacritics($sText)
  4. {
  5. $aReplacePL = array(
  6. 'ą' => 'a', 'ę' => 'e', 'ś' => 's', 'ć' => 'c',
  7. 'ó' => 'o', 'ń' => 'n', 'ż' => 'z', 'ź' => 'z', 'ł' => 'l',
  8. 'Ą' => 'A', 'Ę' => 'E', 'Ś' => 'S', 'Ć' => 'C',
  9. 'Ó' => 'O', 'Ń' => 'N', 'Ż' => 'Z', 'Ź' => 'Z', 'Ł' => 'L'
  10. );
  11.  
  12. return str_replace(array_keys($aReplacePL), array_values($aReplacePL), $sText);
  13. }
  14.  
  15. function prepareURL($sText)
  16. {
  17. // pozbywamy się polskich znaków diakrytycznych
  18. $sText = clearDiacritics($sText);
  19.  
  20. // dla przejrzystości wszystko z małych liter
  21. $sText = strtolower($sText);
  22.  
  23. // wszystkie spacje zamieniamy na myślniki
  24. $sText = str_replace(' ', '-', $sText);
  25.  
  26. // wszystkie spacje zamieniamy na myślniki
  27. $sText = str_replace(':', '-', $sText);
  28.  
  29. // wszystkie spacje zamieniamy na myślniki
  30. $sText = str_replace('.', '-', $sText);
  31.  
  32. // usuń wszytko co jest niedozwolonym znakiem
  33. $sText = preg_replace('/[^0-9a-z\-]+/', '', $sText);
  34.  
  35. // zredukuj liczbę myślników do jednego obok siebie
  36. $sText = preg_replace('/[\-]+/', '-', $sText);
  37.  
  38. // usuwamy możliwe myślniki na początku i końcu
  39. $sText = trim($sText, '-');
  40.  
  41. return $sText;
  42. }
  43.  
  44. ?>


może tutaj jakoś można coś dodać aby skrócić długość url'ów?

Edit2: problem rozwiązany:) można zamknąć temat:)
użyłem "substr" i przy okazji się o nim nauczyłem:)
shpyo
Skróć sobie linki - wysil się nad nazwami podstron. Jeżeli będziesz miał za długie nazwy to Google może uznać ją za spam.
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.