Mit „lesbare“, „clean“ oder auch „pretty“ URL ist eine URL gemeint, die anstelle von technischen Wörtern oder Datenbank-ID’s lesbare Wörter enthält. Außerdem wird auf die Dateierweiterung wie .php oder .html verzichtet. Dabei sieht das nicht nur schön aus, sondern hat noch viele weitere Vorteile:
- Benutzer können die Relevanz schneller bewerten (eine aussagekräftige URL wird in der Regel eher angeklickt als eine kryptische)
- Benutzer können sich die URLs leichter merken
- Externe Links und Lesezeichen auf eine Seite sind wesentlich länger gültig, da sie von internen technischen Änderungen unabhängig sind
- Bei der Suchmaschinen-Optimierung werden neben dem Seiteninhalt auch Domain- und Dateinamen einzelner Seiten bewertet
Laravel
Im Laravel Projekt wird bereits eine .htaccess Datei mitgeliefert, die genau dies machen kann.
Allerdings kann es vorkommen, dass diese nicht mit Deinen Apache Einstellungen funktionieren. Darum habe ich hier mal ein paar Vorlagen erstellt.
Apache
Options +FollowSymLinks RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^ index.php [L]
Nginx
location / { try_files $uri $uri/ /index.php?$query_string; }