Diese .htaccess-Regel sorgt dafür, dass eingehende Anfragen über die index.php umgeleitet werden, wenn das mod_rewrite-Modul auf Apache-Servern aktiviert ist. Diese Struktur wird insbesondere in SEO-freundlichen (schönen URL-)Systemen und PHP-Anwendungen mit MVC-Struktur verwendet.
Code-Erklärung:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php [QSA,L]
Detaillierte Bedeutung:
-
: Diese Regeln funktionieren, wennmod_rewriteinstalliert ist. Wenn es nicht installiert ist, wird es ignoriert. -
RewriteEngine On: Aktiviert die URL-Rewrite-Engine. -
RewriteCond %{REQUEST_FILENAME} !-d: Wird fortgesetzt, wenn die angeforderte Adresse kein physischer Ordner ist. -
RewriteCond %{REQUEST_FILENAME} !-f: Wird fortgesetzt, wenn die angeforderte Adresse keine physische Datei ist. -
RewriteRule ^(.*)$ index.php [QSA,L]: Leitet alle anderen Anfragen an die Dateiindex.phpum.
Bedeutung von [QSA,L]:
-
QSA(Query String Append): Behält die Abfrageparameter der ursprünglichen URL bei. -
L(Last): Nach dieser Regel wird keine weitere Umleitungsregel ausgeführt.
Beispiel:
http://siteadi.com/hakkimizda
Wenn diese Anfrage keine physische Datei oder ein Ordner ist, wird sie an index.php umgeleitet. Auf PHP-Seite kann die Umleitung mit $_SERVER['REQUEST_URI'] oder $_GET erfolgen.
Anwendungsbereiche:
-
In PHP MVC Frameworks (Laravel, CodeIgniter, Slim)
-
In CMS-Infrastrukturen wie WordPress, Joomla
-
Beim Erstellen eines SEO-freundlichen URL-Systems
Anforderungen:
-
Das
mod_rewrite-Modul muss auf dem Apache-Server aktiviert sein. -
Die Verwendung von
.htaccess-Dateien muss mit der BerechtigungAllowOverride Allerlaubt sein.
Diese Struktur wird häufig in dynamischen Webanwendungen verwendet, um die URL-Verwaltung zu vereinfachen und Umleitungen zentral über index.php zu steuern.