Usunięcie ID z linków artykułów zapewnia nam Joomla 3.8. Aby włączyć tę opcję, wystarczy wejść w:

  • Opcje artykułów
  • następnie zakładka Integracja
  • opcję Routing adresów URL ustawiamy na Unowocześniony
  • a opcję Usuń identyfikatory (ID) z adresów URL zaznaczamy na Tak

Wszystko fajnie, ale przestaną nam działać stare linki, np. mój poprzedni wpis na blogu miał do tej pory link

Jak stworzyć automatyczne przekierowanie na wersję

?

 

Wystarczy dodać w .htaccess regułę

  • RedirectMatch 301 (.*?)/[0-9]{1,}[-]+([a-z0-9-]{1,})$ $1/$2

np. za linijką 

  • Begin - Custom redirects

 

Skąd to wiem? Sam opracowałem wyrażenie regularne i je przetestowałem.

Dlatego dzielę się nim, może ktoś znajdzie jakieś przypadki kiedy nie działa?

 

Jak to działa?

  • (.*?)    dowolny początek linku. Jest w nawiasie, żeby go wykorzystać do podmiany (zmienna 1)
  • /      ostatni slash
  • [0-9]{1,}[-]+    wyłapuje nam id oraz myślnik (-). + oznacza, że musi być co najmniej jedna liczba z ID, żeby reguła zadziałała
  • ([a-z0-9-]{1,})$    wyłapuje nam alias artykułu z myślnikami. {1,} oznacza, że musi być co najmniej jeden znak. Część wyrażenia jest w nawiasie, żeby go wykorzystać do podmiany (zmienna 2)
  • $1$2    łączymy 2 zmienne z adresu (zmienna1 to początek, zmienna2 to alias artykułu bez ID i pierwszego myślnika)

Przetestuj i zostaw komentarz.

 

Dodaj komentarz

Kod antyspamowy
Odśwież

Napisz do nas
  1. Imię i nazwisko(*)
    Uzupełnij
  2. E-mail(*)
    Podaj prawidłowy adres
  3. Telefon(*)
    Uzupełnij
  4. Wiadomość
    Nieprawidłowe dane
  5. Kliknij na powyższe pole

© Solmedia 2018