Server Side Include, PHP und NGINX

Anstelle von Server Side Includes benutze ich seit einiger Zeit PHP Includes für Webseiten ohne Content Management System. Die HTML-Seiten brauchen nur die Endung .php, schon holt <?php include(„inc/headbase.php“); ?> den Header in die Seite.

Um Adressen von einer Endung mit .php auf dieselbe URL ohne PHP umzuschreiben, haben wir das übliche Apache-Rewrite benutzt.

RewriteEngine on  
RewriteCond %{REQUEST_FILENAME} !-f  
RewriteCond %{REQUEST_FILENAME} !-d  
RewriteCond %{REQUEST_URI} !\.php$ [NC]  
RewriteRule ^(.*)$ $1.php [L]

Unter NGINX umgewandelt zur Direktive

rewrite ^/([a-zA-Z0-9-]+)$ /$1.php last;

Erlaubt das Umschreiben von Groß- und Kleinbuchstaben, Ziffern und Bindestrich im Dateinamen. Wie gut, wenn man ein bißchen Regex spricht …