Skocz do zawartości
PL
Szukaj na Pecetowiczu
  • Utwórz konto

Usuwanie polskich znaków diakrytycznych z adresów URL w IPS 4.3.6


Przejdź do rekomendacji Rozwiązane przez -n3veR,
Rekomendowane odpowiedzi

Witam. Wtyczka z forum na usuwanie polskich znaków diakrytycznych z adresów URL jest za stara pod IPS Community Suite 4.3.6.

Rozwiązanie na modyfikację pliku które podał SeNioR w temacie Usuwanie znaków specjalnych z adresów URL niestety nie działa. Kodowanie pliku również było zmieniane.

Ktoś coś poradzi, podrzuci?

Odnośnik do komentarza
Udostępnij na innych stronach

Cześć. Sprawdź poprawioną wtyczkę Removing diacritics from URLs, użyłem tam całkiem innego kodu wiec powinna działać.

Natomiast sposób z modyfikacją pliku bezpośrednio też powinien wciąż działać, tylko pamiętaj że plik musisz zapisać z kodowaniem UTF-8 no i to działa dopiero od nowo utworzonych tematów, a nie od tych które są już stworzone.

Czy warto usuwać znaki specjalne z adresu URL?

Adres URL powinien zawierać tylko znaki alfanumeryczne oraz myślnik używany jako separator. W SEO istnieje coś takiego jak przyjazny link (ang. Search Engine Friendly URL), który cechuje się tym że nie zawiera znaków specjalnych (diakrytycznych), spacji czy wielkich liter.

To wszystko wpływa na lepszy wygląd linku oraz pozwala uniknąć wielu problemów. Na obecną chwilę nie wpływa to na lepszą pozycję w wyszukiwarce, jednak warto od początku dbać o zachowanie przyjaznych linków.

Odnośnik do komentarza
Udostępnij na innych stronach

  • Rekomendowana odpowiedź

Jak wtyczka nie działa to spróbuj sposobu z ręczną modyfikacją pliku, ten sposób u mnie wciąż działa.

Podmienia tylko polskie znaki, czyli wszelkiego rodzaju ogonki. 

Otwórz system/Http/Url/Friendly.php

Znajdź:

$value = mb_strtolower( $value );

Dodaj po:

$value = str_replace(array('ą', 'ć', 'ę', 'ł', 'ń', 'ó', 'ś', 'ź', 'ż'), array('a', 'c', 'e', 'l', 'n', 'o', 's', 'z', 'z'), $value);

Następnie zapisz plik w kodowaniu UTF-8. 

Odnośnik do komentarza
Udostępnij na innych stronach

Ja tam nie chciałem ograniczać wszystkich znaków tylko same wybrane PL ale można też użyć np. iconv. można stworzyć funkcję albo przez preg_replace... Sposobów jest dużo na usunięcie znaków specjalnych.

Odnośnik do komentarza
Udostępnij na innych stronach

Ja nie wiedziałem, że dopiero na dopiero nowo zrobionym dziale po zapisaniu pliku.

Działa, dziękuję !!!! : )

Odnośnik do komentarza
Udostępnij na innych stronach

(edytowane)
7 minut temu, Uśmiechnięty Mniszek napisał:

A co ten kod robi?

PHP: mb_strtolower - Manual

Przeczytaj i zobacz przykład #2

Edytowane przez El Profesor
Odnośnik do komentarza
Udostępnij na innych stronach

Czyli innego kodowania znaków niż utf8 nie będzie na całym forum  czy tylko w linku ?

Odnośnik do komentarza
Udostępnij na innych stronach

Tylko w linku. To jest na wypadek jakbyś jednak zapomniał zapisać plik w dobym kodowaniu.

Odnośnik do komentarza
Udostępnij na innych stronach

Śliczne dzięki ☺️ Temat można zamknąć ☺️

Odnośnik do komentarza
Udostępnij na innych stronach

  • 3 miesiące temu...

Przepraszam że robię odkop, ale znalazłem problem. W tematach ślicznie działa, aż chuczy ale w profilu niezbyt. Dlaczego? Mam nick z polskimi znakami, gdy wejdę w swój profil w linku nie zmieniają się te polskie znaki z np ś na s albo z ł na l

Odnośnik do komentarza
Udostępnij na innych stronach

  • 2 tygodnie później...

@misky021 Powinno działać też w profilu bo funkcja przyjaznych linków jest jedna dla każdych podstron / aplikacji. 

Odnośnik do komentarza
Udostępnij na innych stronach

Kontynuuj dyskusję

Dołącz do Pecetowicza, aby kontynuować dyskusję w tym wątku.

  • Dodaj nową pozycję...
  • Dodaj nową pozycję...