Ich möchte alle Seiten einer Website aktualisieren, um Include für die Fußzeile und den Header zu verwenden. Ich muss also viele .html-Seiten in .php ändern.
Ich suche also nach einer Möglichkeit, alle Seiten, die mit .html enden, auf dieselbe URL umzuleiten, jedoch mit .php.
RewriteEngine On
RewriteRule ^(.*)\.html$ $1.php [L]
Wenn Sie möchten, dass es als Umleitung statt nur zum Umschreiben ausgeführt wird, ändern Sie den [L]
in [L,R]
.
Sie könnten einen einfacheren Ansatz verwenden und alle Ihre HTML-Dateien als PHP-Dateien verarbeiten lassen, indem Sie die folgende Zeile zu Ihrem .htaccess hinzufügen
AddHandler application/x-httpd-php .php .html
mod_rewrite zur Rettung!
RewriteEngine On
RewriteRule ^(.+)\.html$ $1.php
In Ihrer Apache-Datei httpd.conf können Sie hinzufügen
AddType application/x-httpd-php .html
html-Dateien durchlaufen lassen, bevor sie dem Benutzer übergeben werden. Sie können diese Direktive auch Ihrer .htaccess-Datei hinzufügen. Die zweite Methode funktioniert möglicherweise nicht, je nachdem, wie der Host eingerichtet ist.
Beachten Sie, dass der Befehl AddType Ihre vorhandene HTML-Datei als PHP verarbeitet. Wenn Sie eine vorhandene HTML-Datei durch eine neue PHP-Datei ersetzen möchten, müssen Sie die Umschreibungsregel verwenden.
Wenn Sie eine aktuelle HTTP 301 Moved Permanently
Umleiten
RewriteEngine on
RedirectMatch 301 ^(.*)\.html$ $1.php
oder
RewriteEngine on
RewriteCond %{THE_REQUEST} \ /(.+)\.php
RewriteRule ^ /%1.html [L,R=301]