mod_rewrite: aus .php eine .html Datei machen
lima-city → Forum → Die eigene Homepage → Homepage Allgemein
apache
aufrufen
code
dank
datei
deutscher schrieb
forum
http
installation
konfiguration
laufen
meldung
paket
problem
rechner
server
system
testen
url
windows
-
Das Problem ist etwas komplizierter als die Überschrift verrät. Folgende Situation:
Ich möchte, dass alle *.php Dateien via mod_rewrite zu *.html abgeändert werden. Dazu findet man auch einige Herangehensweisen im Internet:
modrewrite.de
Dieser "Code" funktioniert bei mir nicht. Ich habe eine lokale Apache Installation. Mod_rewrite ist aktiviert.RewriteEngine on RewriteRule ^(.*).html$ $1.php
Dagegen funktioniert diese Version:
Allerdings reicht mir das wiederum nicht aus. Hier ist es möglich eine *.php trotzdem aufzurufen. Damit würde sich aber dann das seo-technische Problem mit "Double Content" ergeben. Ich möchte auch keine kanonischen URLs speziell angeben müssen. Daher will ich beim Aufruf einer .php eine 404-Fehler (Seite nicht gefunden).RewriteEngine On RewriteCond %{REQUEST_URI} ^(.*)\.html$ RewriteRule ^.*\.html$ %1.php [L]
Das Problem wurde in einem anderen Forum zwar angesprochen, allerdings funktioniert die dort gegebene Lösung bei mir nicht.
Hier bekomme ich eine "500 Internal Server Error"- Meldung.RewriteEgine on RewriteRule ^(.+)\.html$ $1.php [L] RewriteCond %{REQUEST_URI} !\.html$ RewriteRule ^(.+)\.php$ $1.html [L,R=301]
Wie man wahrscheinlich erkennen kann, habe ich nichts mit mod_rewrite am Hut. Ich habe zwar die Syntax überflogen, jedoch befördert mich das leider nicht es zu können. Dazu bräuchte ich etwas mehr Übung und Zeit. Falls jm. eine gute Webseite kennt, oder einen Artikel, welcher mod_rewrite einfach erklärt und in ca. 1 Stunde anwendbar macht, würde ich mich auch freuen. Andernfalls kann man sich das sparen. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Hilfreich wäre erstmal zu wissen auf was du das lokal installiert hast. Ist das ein Unix System oder ein Windows Rechner auf dem du so ein Xampp Paket laufen hast? Welches System in welcher Version steckt dahinter? Ist das eine lokale Installation nur zum testen für dich oder bist du mit deinem "Homeserver" online?
Grüße Christian -
wuw schrieb: Ist das ein Unix System oder ein Windows Rechner auf dem du so ein Xampp Paket laufen hast? Welches System in welcher Version steckt dahinter?
Linux/Ubuntu mit Apache Installation.
wuw schrieb: Welches System in welcher Version steckt dahinter?
Apache/2.2.11 (Ubuntu) PHP/5.2.6-3ubuntu4.2 with Suhosin-Patch Server at local Port 80
wuw schrieb: Ist das eine lokale Installation nur zum testen für dich oder bist du mit deinem "Homeserver" online?
Ich dachte "lokal" erklärt, dass es hier nur ums testen geht.
Ich weiß zwar nicht inwiefern diese Informationen wichtig sind, aber du wirst es mir sicherlich erklären können. -
Verwende den zweiten (funktionierenden) Code und probier mal, das zu ergänzen:
<Files *.php> Deny from all </Files>
Dann gibt das allerdings 403 statt 404 aus. (vielleicht, wenn's funktioniert ) -
deutscher schrieb: Dann gibt das allerdings 403 statt 404 aus. (vielleicht, wenn's funktioniert )
Schade, es funktioniert leider nicht. Hier erhalte ich nur noch 403er Meldung. Letztlich lässt sich nun zwar keine *.php Datei aufrufen, aber auch keine *.html, da diese ja letztlich eine *.php Datei ist, nur die Adresszeile verrät dies nicht. Trotzdem danke. -
htaccess Dateien sind manchmal etwas tückisch. Versuch doch nochmal den ersten Code der für dich am besten passt und checke aber ganz genau ob in der htaccess Datei nach dem letzten Zeichen des Codes (bzw. am Ende der htaccess sofern da auch noch andere Dinge drin stehen) auch kein Leerzeichen mehr kommt und auch keine Leerzeile zu finden ist. Oft sind es so kleine banale Dinge die eine grosse Wirkung haben. Sonst würde ich mal in der Paketverwaltung suchen ob es eine andere Variante gibt die mod_rewrite bei dir zum laufen bringt.
Lokal sollte nur zum testen sein aber es gibt so ein paar "Helden" die so ihre Seite ins Netz stellen. Außerdem könnte es ja auch sein, dass du irgendwo einen Server betreibst mit einer richtig schnellen Standleitung. Bevor das zuviel Aufwand wird überleg dir aber auch ob du das nicht lieber lässt das lokal zum laufen zu bringen. SEO Tools lokal zu installieren macht ohnehin keinen Sinn und am Produktivserver also deinen Webspace kann ja auch wieder die Konfiguration unterschiedlich sein. Sowas ist nur sinnvoll, wenn du dann weißt, dass deine Seite am Webserver auch funktioniert also die Konfigurationen kompatibel sind.
Grüße Christian
Beitrag zuletzt geändert: 23.9.2009 21:55:23 von wuw -
werktags schrieb:
deutscher schrieb: Dann gibt das allerdings 403 statt 404 aus. (vielleicht, wenn's funktioniert )
Schade, es funktioniert leider nicht. Hier erhalte ich nur noch 403er Meldung. Letztlich lässt sich nun zwar keine *.php Datei aufrufen, aber auch keine *.html, da diese ja letztlich eine *.php Datei ist, nur die Adresszeile verrät dies nicht. Trotzdem danke.
OK, da habe ich nicht dran gedacht. Dann würde ich vorschlagen, lass das mit mod_rewrite, und bring Apache einfach dazu PHP-Code in HTML-Dateien zu parsen. In die .htaccess folgendes eintragen:
AddType application/x-httpd-php .html
Dann benennst du einfach die .php Dateien in .html um. (Hoffentlich habe ich nicht schon wieder was "übersehen" ). -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage