Apache 1.3.33 + mod_rewrite + .htaccess = Problem

NoNick

Aktives Mitglied
Thread Starter
Dabei seit
16.01.2006
Beiträge
161
Reaktionspunkte
5
Hallo liebe MacUser

Ich habe jetzt seit zwei Tagen mein MBP und alles soweit installiert und konfiguriert, bis auf eines.
Wie konfiguriere ich den mit Tiger mitgelieferten Apache so, dass die .htaccess-Dateien verwendet werden?

Ich hab nun schon einige Anleitungen im Web gefunden, aber keine scheint zu funktionieren.

In der /etc/httpd/httpd.conf hab ich Options FollowSymLinks ebenso eingetragen wie AllowOverride All, zusätzlich die gleichen Angaben auch in der httpd.conf meines Users in /etc/httpd/users/. Den Apachen habe ich zwischendurch neu gestartet.
In den Logs (access und error unter/var/log) steht nix drin.

mod_rewrite ist laut phpinfo() aktiviert.

Das kann doch nicht so schwer sein, das zum Laufen zu kriegen :confused:

Danke
NoNick

P.S.: Die Forensuche habe ich auch benutzt und nichts gefunden, was mir geholfen hätte. Sollte ich was übersehen haben, würd mich ein entsprechender Link freuen.
 
Such in der httpd.conf mal nach "Options Indexes FollowSymLinks MultiViews".

Kurz dahinter die Direktive "AllowOverride None" auskommentieren.
 
Hi

Das hatte ich schon auf AllowOverride All. Auch auskommentieren hilft nichts (Apache Restart hab ich nicht vergessen ;))

NoNick
P.S.: Danke für die schnelle Antwort.
 
ok, hatte vergessen, dass die Direktive "AllowOverride None" mehrmals vorkommt. Alle müssen auskommentiert sein.

Bei mir funktioniert's auf diesem Weg :)
 
Ok, werde das morgen nochmal probieren, heut ist es schon zu spät.
Besten Dank.

NoNick
 
NoNick schrieb:
Apache 1.3.33 + mod_rewrite + .htaccess = Problem

:nono: die Gleichung ist falsch :D

Gaanz wichtig: Apache erwartet in .htaccess-Dateien LINUX-konforme Linefeeds! Es ist wichtig, daß Du Deinen Editor darauf einstellst. Sonst kommt es exakt zu dem von Dir beschriebenen Verhalten!
 
Also für mich stimmt die Gleichung - noch ;)

Gut, dann werd ich den Editor mal daraufhin überprüfen, welche Linefeeds eingestellt sind.

Eine (vielleicht blöde*) Frage noch: ich hab gestern echt einiges an Tutorials und Doku gelesen, nirgendwo stand ein Hinweis wie Deiner. Wo findet man sowas? Auch in den beiden Apache-Büchern, die ich hab, hab ich das nicht gelesen (vielleicht auch überlesen, das wär schlecht).

Danke
NoNick

* auch wenn es angeblich keine blöden Fragen gibt
 
Die Gleichung stimmt leider immer noch :(

Hab die .htaccess mit BBEdit editiert (die "default line breaks" auf "Unix (LF)" gestellt), leider keine Besserung. Hab die .htaccess gelöscht, mit BBEdit neu erstellt, auch keine Besserung.

Die httpd.conf-files hab ich mit vi und pico über die Shell editiert, da sollte es ja keine Probleme geben.

Da steht das MBP auf meinem Schreibtisch und ich muss immer noch mit dem uralten Acer arbeiten, weil ich mod_rewrite nicht zum Laufen bekomme :heul:

NoNick
 
hast du
- mal in die Apache error log geschaut?
- die richtige Syntax und das richtige Verzeichnis in der .htaccess?
- ein entsprechendes AuthUserFile (.htpasswd) angelegt?
 
Hast Du denn auch DEINE userbezogene .conf geändert? Die steht in /private/etc/httpd/users/username.conf

und auch da ist AllowOveride nochmal enthalten!


EDIT: ich seh gerade das hast Du bereist geprüft :(
 
error_log: da steht nichts relevantes drin
[Fri Sep 28 11:51:54 2007] [error] [client 127.0.0.1] File does not exist: /Library/WebServer/Documents/favicon.ico

Es geht nicht um Auth, es geht um url-rewrite. Die .htaccess habe ich über Ethernet auf mein MBP kopiert. Auf meinem W2K-Notebook funktionierte es noch. Und auch auf dem Webserver des Hosters funktioniert es.

Ich hab jetzt mod_rewrite dazu veranlasst, die Meldungen in ein Log zu schreiben, und da steht auch was drin. muss jetzt noch herausfinden, was diese Einträge bedeuten, damit sollte sich das Problem dann lösen lassen.
Ich kriege folgenden Eintrag im rewrite_log (der wohl bedeutet, dass was mit der rewrite-condition nicht stimmt):
PHP:
127.0.0.1 - - [28/Sep/2007:12:24:13 +0200] [xxx-xxx-computer.local/sid#1802644][rid#183f234/initial] (4) RewriteCond: input='GET' pattern='^TRACE' => not-matched

Verwundert mich etwas, das ist alles original/unverändert cakePHP. Auch die .htaccess bei cakePHP habe ich angepasst wie in der Doku angegeben. (RewriteBase /~meinusername/)

Die httpd.conf, die ich editiert habe:
/etc/httpd/httpd.conf
/etc/httpd/users/meinusername.conf
PHP:
<Directory "/Users/meinusername/Sites/">
    Options Indexes MultiViews FollowSymlinks
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>

Das ist sicher wieder irgendeine kleine gemeine Einstellung - wenn man den Fehler gefunden hat, möchte man mit dem Kopf auf die Tischplatte hämmern ...

NoNick
 
ich vermute, da dort steht es gäbe keinen match, das eine der rewrite-Regeln nicht erkannt wird! Ggf. ist der Zeichensatz falsch?
 
Zuerst nochmal ein herzliches Danke für die Hilfe.

Ich mach jetzt ein wenig Pause, weil ich die Dateien schon zu lange bearbeite und ich zur Zeit wohl eher verschlimmbessere. Dann werde ich die Geschichte mit den Zeichensätzen überprüfen.

NoNick
 
Zwischenstand: habe die gewünschte Konfiguration leider nicht zum Laufen bekommen (werde aber nicht aufgeben).

Habe mir inzwischen MAMP installiert, um wieder ein wenig arbeiten zu können. Wenn wieder etwas mehr Zeit ist, mach ich mich daran, die Bordmittel richtig zu konfigurieren.

NoNick
 
Frage

Hallo Leute,

ich hab auch nen problem mit dem Standard Apache 2.2 Leopard (egal, die hatte ich unter Tiger auch) ...

Jedenfalls liegt das root-Verzeichnis von meinem Server unter: Festplatte/Library/WebServer/Documents <-- ist das soweit richtig? da liegt jedenfalls die Seite drin, die geladen wird, wenn man zum ersten Mal in Browser geht .... so nun liegt in dem Ordner ja auch die ganze Documentation und überhaupt ... also denke ich mir .. root-verzeichnis ändern ...

Und das geht ja wohl in der httpd.conf, richtig? die Datei habe ich nicht ... wie kann das sein?

Und noch ne Frage: welchen Zweck erfüllt der Ordner: user/websites?

???

schönen abend noch
 
Hallo NoNick!

Um htaccess zu aktivieren muss folgendes in der httpd.conf stehen:

Code:
AccessFileName .htaccess

und

Code:
<FilesMatch "^\.ht">
    Order allow,deny
    Deny from all
</FilesMatch>

Ausserdem in der Direktive, wo Du dein Document Root definiert hast, folgendes:

Code:
AllowOverride All


Gruss,
 
  • Gefällt mir
Reaktionen: juliank
Zurück
Oben Unten