aus *.php wird *.html

Ein häufig auftretender Fall: Der Webmaster will das der Besucher nicht mitbekommt das er sich auf einer von PHP generierten Seite befindet. Ein Grund hierfür könnte z.B. sein das Hacker oder Script-Kiddies gar nicht erst auf die Idee kommen das Script auf Bugs oder Sicherheitslücken zu testen.

Für dieses Problem gibt es generell zwei Lösungsansätze.

  1. ich leite alle Anfragen nach foo.html mit mod_rewrite auf foo.php um.
  2. ich schicke Dateien mit der Endung .html und .htm durch den PHP Parser.

Ich verwende allerdings lieber die mod_rewrite Variante, der Vollständigkeit halber führe ich allerdings die andere Variante mit an. Aber hier gehts js schliesslich um mod_rewrite 😉

.htaccess: mod_rewrite Variante (1.)

RewriteEngine on
RewriteRule ^(.*).html$ $1.php

.htaccess: PHP-Parser Variante (2.)

# .htm und .html von PHP parsen lassen 
AddType application/x-httpd-php .htm .html

Hinweis zu (2.) bei PHP als CGI
Falls PHP als CGI läuft muss der richtige MIME-Typ angeben werden: bspw. bei Action application/x-cgi-php „/php/php.exe“ müsste AddType application/x-cgi-php .php .html angegeben werden! danke an Robert von Giga-Help FAQ für diesen Hinweis!

Hinweis:

Es gibt dennoch Möglichkeiten um herauszufinden ob das angezeigte Dokument tatsächlich statisch ist. Profis lassen sich damit nicht täuschen – und auch Google weiß sich zu helfen.