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

Oto jak ustawić, aby w Joomli linki artykułów nie miały ID

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ę

?

Dzielę się moim autorskim rozwiązaniem.

Wystarczy dodać w .htaccess regułę

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

np. za linijką

  • Begin - Custom redirects 

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)

Miłego korzystania!