Apache 1.3.33 + mod_rewrite + .htaccess = Problem

NoNick

Mitglied
Thread Starter
Mitglied seit
16.01.2006
Beiträge
154
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.
 

MacMännchen

Aktives Mitglied
Mitglied seit
03.10.2006
Beiträge
2.881
Such in der httpd.conf mal nach "Options Indexes FollowSymLinks MultiViews".

Kurz dahinter die Direktive "AllowOverride None" auskommentieren.
 

NoNick

Mitglied
Thread Starter
Mitglied seit
16.01.2006
Beiträge
154
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.
 

MacMännchen

Aktives Mitglied
Mitglied seit
03.10.2006
Beiträge
2.881
ok, hatte vergessen, dass die Direktive "AllowOverride None" mehrmals vorkommt. Alle müssen auskommentiert sein.

Bei mir funktioniert's auf diesem Weg :)
 

NoNick

Mitglied
Thread Starter
Mitglied seit
16.01.2006
Beiträge
154
Ok, werde das morgen nochmal probieren, heut ist es schon zu spät.
Besten Dank.

NoNick
 

wegus

Moderator
Mitglied seit
13.09.2004
Beiträge
17.308
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!
 

NoNick

Mitglied
Thread Starter
Mitglied seit
16.01.2006
Beiträge
154
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
 

MacMännchen

Aktives Mitglied
Mitglied seit
03.10.2006
Beiträge
2.881

NoNick

Mitglied
Thread Starter
Mitglied seit
16.01.2006
Beiträge
154
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
 

MacMännchen

Aktives Mitglied
Mitglied seit
03.10.2006
Beiträge
2.881
hast du
- mal in die Apache error log geschaut?
- die richtige Syntax und das richtige Verzeichnis in der .htaccess?
- ein entsprechendes AuthUserFile (.htpasswd) angelegt?
 

wegus

Moderator
Mitglied seit
13.09.2004
Beiträge
17.308
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 :(
 

NoNick

Mitglied
Thread Starter
Mitglied seit
16.01.2006
Beiträge
154
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
 

wegus

Moderator
Mitglied seit
13.09.2004
Beiträge
17.308
ich vermute, da dort steht es gäbe keinen match, das eine der rewrite-Regeln nicht erkannt wird! Ggf. ist der Zeichensatz falsch?
 

NoNick

Mitglied
Thread Starter
Mitglied seit
16.01.2006
Beiträge
154
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
 

NoNick

Mitglied
Thread Starter
Mitglied seit
16.01.2006
Beiträge
154
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
 

Macbe

Mitglied
Mitglied seit
19.09.2006
Beiträge
50
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
 

Jazz_Rabbit

Aktives Mitglied
Mitglied seit
20.09.2002
Beiträge
1.173
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,
 
Oben