Überprüfen, ob mod_rewrite aktiviert ist

mod_rewrite ist die Rewrite-Engine des Apache Webservers und wird in vielen modernen Webanwendungen eingesetzt. Jedoch gibt es bisher keine zuverlässige Möglichkeit, um die Unterstützung von mod_rewrite via PHP zu ermitteln. Im Folgenden werde ich eine Möglichkeit erläutern, die Unterstützung von mod_rewrite trotzdem zuverlässig zu ermitteln.

Über die .htaccess-Datei ist es möglich Regeln für die Verwendung von mod_rewrite aufzustellen, allerdings könnte diese deaktiviert sein, weswegen das Workaround grundsätzlich auf die .htaccess-Datei abzielt.

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteRule ^/index.php     /index.php?mod_rewrite=1 [QSA]
</IfModule>

Das oben-stehende Snippet überprüft, ob mod_rewrite aktiviert ist und hängt einen unsichtbaren Parameter an die URL an. Via PHP ist es nun möglich diesen Parameter zu überprüfen. Natürlich kann mod_rewrite durch einen anderen Parameter-Namen ersetzt werden, damit er nicht bewusst (oder unbewusst) manipuliert werden kann. Bsp.:

if ($_GET['mod_rewrite'] == '1') {
    //Funktionen
}

Schreibe einen Kommentar