Mailinglisten-Archive |
Kirsten Bohlig schrieb: > Hallo, Hi > wenn ich mit der .htaccess versuche, header-Funktionen einzubinden, > cache zu verhindern, gzip oder irgendwas, was z.B. auf > http://www.askapache.com/htaccess/ und ähnlichen Seiten beschrieben ist, > kommt es in den meisten Fällen zu einem Servercrash (Internal Error 500) Das deutet daraufhin, dass die Optionen, die du in der .htaccess setzt entweder dort nicht erlaubt sind oder vom Apache nicht erkannt werden (weil die entsprechenden Module fehlen?). Welche Optionen in der .htaccess erlaubt sind, steht in der Doku zu jeder Option (Context: .htaccess). > oder wenn ich versuche, URLs umzuschreiben, funktioniert es einfach > nicht (die Umleitung auf eine eigene 404-Seite funktioniert allerdings). > > In der .htaccess steht: > Options +FollowSymlinks > RewriteEngine On > RewriteRule index.html$ index.php > > Das müsste doch bedeuten: > In der Adresszeile des Browsers steht index.html - in Wirklichkeit wird > der Besucher aber umgeleitet auf index.php - ich bekomme aber einen > Error 404. Warum? (Die Datei index.php existiert, apache war neu > gestartet...) 1. ein Rewrite ist was anderes als ein Redirect 2. beim Rewriting gelten für die .htaccess andere Regeln, als in einer VHost-Directive. Schau dir mal die Beispiele auf [1] an. Ganz unten gibt es zwei Abschnitte "Inside per-server configuration" und "Inside per-directory configuration", wovon letztere für dich wohl interessanter ist. > Das Ganze läuft lokal über xampp, Apache/2.2.3 (Win32), php 5.2 (nicht > ;-) mod_rewrite ist in der php-info unter den "loaded modules" > aufgeführt, in der http.conf ist LoadModule rewrite_module > modules/mod_rewrite.so auskommentiert und wenn ich AddModule > mod_rewrite.c hinzufüge, dann lässt sich der apache gar nicht mehr > starten...(ein Tipp aus > http://www.aboutwebdesign.de/awd/content/1042302787.shtml, allerdings > auch schon etwas älter) Wenn laut phpinfo() mod_rewrite aktiviert ist und laut der obenstehenden .htaccess-Einträge kein Internal Server Error(500) kommt, funktioniert das Rewrite-Modul. > Wo muss ich suchen? Was muss ich ändern? Du solltest dich mal intensiv mit Apache-Rewrite beschäftigen. Das ist sehr mächtig und die Chance, dass dort ein paar der genannten Fehler liegen ist sehr groß. Weiterhin empfehle ich die Logfiles zu analysieren. Die geben recht gut Aufschluß über gemachte Fehler, vor allem wenn du einen Fehler 500 kriegst. Für das Rewriting lässt sich auch ein Logfile anlegen. ciao Ulf [1] http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html
php::bar PHP Wiki - Listenarchive