Hallo, ich muss eine Website auf php umstellen. Um jedoch nicht die guten Plazierungen bei Google zu verlieren und Besucher zu veraergern, die einzelne Seiten gebookmarked haben, wollen ich mit einer .htaccess und RewriteRule arbeiten: RewriteEngine on RewriteRule ^(.*)\.html$ $1.php [R=permanent] Auf meinem lokalen Apache funktioniert das aber nicht wie erhofft. Ruhe ich einfach nur die virtuelle Domain auf, wird die index.php angezeigt, versuche ich dagegen eine index.html aufzurufen, bekomme ich die Fehlermeldung "The requested URL /index.html was not found on this server." Installiert ist apache-1.3.28-77 mit mod_rewrite-Unterstuetzung. Meine Frage ist nun, wo mein Denkfehler liegt. Beste Gruesse, Heinz. -- Reiseberichte aus Mittel- und Osteuropa: http://www.pahlke-online.de Barrierefreies Webdesign: http://www.Pahlke-KunstWebDesign.de
Hallo Heinz, hallo Leute, Am Mittwoch, 30. November 2005 10:35 schrieb Heinz W. Pahlke:
ich muss eine Website auf php umstellen. Um jedoch nicht die guten Plazierungen bei Google zu verlieren und Besucher zu veraergern, die einzelne Seiten gebookmarked haben, wollen ich mit einer .htaccess und RewriteRule arbeiten:
RewriteEngine on RewriteRule ^(.*)\.html$ $1.php [R=permanent]
Wenn es Dir auf gute Suchmaschinen-Ränge ankommt, würde ich das Ganze als "unsichtbare" Weiterleitung und nicht als externen Redirect machen. Ach so: Die Regel an sich sieht auf den ersten Blick richtig aus. mit [R=permanent] habe ich allerdings noch nie gearbeitet - ich verwende mod_rewrite immer, um statische URLs ohne Parameter zu haben ;-) Was ich gerade vermisse, ist eine RewriteCond, aber die ist IIRC optional.
Auf meinem lokalen Apache funktioniert das aber nicht wie erhofft.
Ruhe ich einfach nur die virtuelle Domain auf, wird die index.php angezeigt, versuche ich dagegen eine index.html aufzurufen, bekomme ich die Fehlermeldung "The requested URL /index.html was not found on this server."
Setze mal ein entsprechendes RewriteLogLevel (siehe Apache-Doku) - damit solltest Du weiterkommen. Falls nicht, RewriteLogLevel eine (weitere) Stufe höher stellen ;-) Falls Du nicht weiterkommst, zeig mal das RewriteLog (mit Loglevel 4). Ach ja: das RewriteLog kann recht umfangreich werden - daher nach Lösung des Problems wieder deaktivieren oder zumindest das LogLevel runterschrauben.
Installiert ist apache-1.3.28-77 mit mod_rewrite-Unterstuetzung.
SuSE 9.0? Da laufen demnächst die Sicherheitsupdates aus... Gruß Christian Boltz -- Bei diesen extremen Sicherheitsanforderungen bietet sich ein Floppy/ CD/DVD/Tape Netz an. Die Daten auf dem Medium müssen natürlich auch verschlüsseln und auf mehrere Medien aufteilen werden. Dann diese auf unterschiedlichen, gesicherten Wegen zu unterschiedlichen Zeiten von A nach B befördern. Bob und Alice sind entzückt *g* [Daniel Lord in suse-linux]
Hallo Christian, On 02-Dec-2005 Christian Boltz wrote:
Hallo Heinz, hallo Leute,
Am Mittwoch, 30. November 2005 10:35 schrieb Heinz W. Pahlke:
ich muss eine Website auf php umstellen. Um jedoch nicht die guten Plazierungen bei Google zu verlieren und Besucher zu veraergern, die einzelne Seiten gebookmarked haben, wollen ich mit einer .htaccess und RewriteRule arbeiten:
RewriteEngine on RewriteRule ^(.*)\.html$ $1.php [R=permanent]
Wenn es Dir auf gute Suchmaschinen-Ränge ankommt, würde ich das Ganze als "unsichtbare" Weiterleitung und nicht als externen Redirect machen.
Ich habe mich inzwischen fuer RewriteEngine on RedirectMatch permanent (.*)/*\.html$ http://www.meinedomain.de$1.php entschieden. Auf dem Server funktioniert, auf meinem PC leider ebenfalls nicht :-(
Ach so: Die Regel an sich sieht auf den ersten Blick richtig aus. mit
Sie funktionierte auf dem Server auch, aber da im Browser weiterhin html-Adressen statt php-Adressen angegeben werden, gefiel es mir nicht.
Ruhe ich einfach nur die virtuelle Domain auf, wird die index.php angezeigt, versuche ich dagegen eine index.html aufzurufen, bekomme ich die Fehlermeldung "The requested URL /index.html was not found on this server."
Setze mal ein entsprechendes RewriteLogLevel (siehe Apache-Doku) - damit solltest Du weiterkommen. Falls nicht, RewriteLogLevel eine (weitere) Stufe höher stellen ;-)
Probiere ich am Wochenende mal aus; heute ist nach dieser Mail Feierabend :-)
Installiert ist apache-1.3.28-77 mit mod_rewrite-Unterstuetzung.
SuSE 9.0? Da laufen demnächst die Sicherheitsupdates aus...
Ich weiss. Das Update auf die 10.0 steht fuer die Tage nach Weihnachten an. Da drei Rechner geupdated werden muessen, mag ich das nicht mal schnell zwischendurch erledigen. Einen schoenen Abend, Heinz. -- Reiseberichte aus Mittel- und Osteuropa: http://www.pahlke-online.de Barrierefreies Webdesign: http://www.Pahlke-KunstWebDesign.de
Hallo, On 02-Dec-2005 Christian Boltz wrote:
Am Mittwoch, 30. November 2005 10:35 schrieb Heinz W. Pahlke:
Auf meinem lokalen Apache funktioniert das aber nicht wie erhofft.
Ruhe ich einfach nur die virtuelle Domain auf, wird die index.php angezeigt, versuche ich dagegen eine index.html aufzurufen, bekomme ich die Fehlermeldung "The requested URL /index.html was not found on this server."
Setze mal ein entsprechendes RewriteLogLevel (siehe Apache-Doku) - damit solltest Du weiterkommen. Falls nicht, RewriteLogLevel eine (weitere) Stufe höher stellen ;-)
Habe in der httpd.conf im entsprechenden VirtualHost eingetragen: RewriteLog /home/heinz/apache_phptest.rewrite_log RewriteLogLevel 9 Aber nichts von einer Log-Datei, auch dann nicht, wenn ich sie vorher mit touch anlege. Den Apache habe ich natuerlich neu gestartet. Da in den naechsten Wochen sowieso ein Update auf Suse 10.0 und damit auf Apache2 ansteht, begnuege ich mich jetzt damit und verzichte auf eine weitere Fehlersuche. Vermutlich habe ich irgendwann im Laufe der Jahre irgendwas in der Apache-Konfig veraendert, woran ich schon lange nicht mehr denke, was jetzt aber diese Folgen zeigt. Beste Gruesse, Heinz. -- Reiseberichte aus Mittel- und Osteuropa: http://www.pahlke-online.de Barrierefreies Webdesign: http://www.Pahlke-KunstWebDesign.de
Habe in der httpd.conf im entsprechenden VirtualHost eingetragen:
RewriteLog /home/heinz/apache_phptest.rewrite_log RewriteLogLevel 9
Aber nichts von einer Log-Datei, auch dann nicht, wenn ich sie vorher mit touch anlege. Den Apache habe ich natuerlich neu gestartet.
Da in den naechsten Wochen sowieso ein Update auf Suse 10.0 und damit auf Apache2 ansteht, begnuege ich mich jetzt damit und verzichte auf eine weitere Fehlersuche.
Vermutlich habe ich irgendwann im Laufe der Jahre irgendwas in der Apache-Konfig veraendert, woran ich schon lange nicht mehr denke, was jetzt aber diese Folgen zeigt.
Beste Gruesse,
Heinz.
Hi, welche Version von Apache? Aktuell? Nach dem letzten Update von SuSE sind ist die Reihenfolge der zu ladenden Module geändert worden. Rewrite muß vor PHP geladen werden, dann funzt es auch... Gruß Christian
Hallo, On 07-Dec-2005 Christian Schmidt wrote:
welche Version von Apache? Aktuell?
^^^^^^^ Wie man es nimmt. Bezogen auf Security-Updates: ja. Ansonsten ist der Apache 1.3.28-77 nicht mehr so ganz taufrisch.
Nach dem letzten Update von SuSE sind ist die Reihenfolge der zu ladenden Module geändert worden. Rewrite muß vor PHP geladen werden, dann funzt es auch...
Habe ich eben mal probiert, aber keine Veraenderung. Und es wird auch nichts gelogt. Aber wie gesagt, Weihnachten steht ohnehin ein Update auf die 10.0 und damit dann auch den Apache2 auf dem Programm. Und da ich auf einem neuen Rechner auch eine Neuinstallation vornehmen darf, habe ich dann auf alle Faele auch einen Referenzrechner, auf dem ich nicht ueberlegen muss, ob es vielleicht an meiner Konfiguration liegt. Beste Gruesse, Heinz. -- Reiseberichte aus Mittel- und Osteuropa: http://www.pahlke-online.de Barrierefreies Webdesign: http://www.Pahlke-KunstWebDesign.de
participants (4)
-
Christian Boltz
-
Christian Schmidt
-
Heinz W. Pahlke
-
Heinz W. Pahlke