Mam napisany własny CMS i wymyśliłem, że warto było by zrobić tak, aby linki do działów i artykułów w działach wyświetlały się w przyjazny sposób dla użytkowników
Tytuły artykułów/aktualności itp. w linkach nie mają zastępować identyfikującego je ID, a tylko maskować przed oczami użytkownika, przeglądarek, czy robotów (chociaż właściwie tytuł może być formą ID, o ile będzie niepowtarzalny). Zresztą w podanym przez Ciebie przykładzie linka z DP występują parametry. Pierwszy to “Aktualnosc”, a drugi to identyfikator danej aktualności, tutaj “15797”.
Oczywiście da się pozbyć tych parametrów, ale przy ilości artykułów na DobrychProgramach nie zawsze dałoby się wymyślić niepowtarzalny tytuł.
Wiem, że w linku na końcu jest ID i wiem też że przy dużej liczbie artykułów jakimi dysponuje podany w przykładzie vortal DP zachowanie unikalnego tytułu jest trudne. Wracając do samego linku to chodzi mi właśnie o maskowanie postaci “index.php?id=25” tytułem artykułu - a nie o zastępowanie danego linku
Wspomniany przeze mnie mod_rewrite. Korzysta się z niego edytując plik .htaccess (musi się znajdować w głównym katalogu), np. w poniższy sposób:
RewriteEngine on
RewriteRule ^artykul/([a-zA-Z0-9-]+).html$ artykul.php?art=$1
Pierwsze polecenie aktywuje mechanizm mod_rewrite.
Drugie polecenie “tłumaczy” przyjaznego URL-a na adres ze zmiennymi GET. Fragment w nawiasie to wyrażenie regularne. W pliku artykul.php odbierasz zmienną $_GET[‘art’] i sprawdzasz (np. w bazie) do czego ona prowadzi. Oczywiście możesz usunąć z linka część “artykul/” zostawiając czysty tytuł artykułu w linku .