• Das kreative Thema des Monats Oktober wird vor allem diejenigen unter Euch besonders ansprechen, denen Do-it-yourself quasi im Blut liegt. Zeigt uns Eure Improvisationskünste oder fotografiert, was andere Leute sich so im Alltag zusammengestrickt haben. --> Zum Mitmachen bitte hier klicken

.htaccess und lokaler Apache

zoom

Antonowka
Registriert
06.03.06
Beiträge
356
Moin!

Ich habe einen lokalen Apache-Server eingerichtet nach dieser Anleitung.
Nun möchte ich eine .htaccess Datei mit mod rewrite Regeln nutzen. Die .htaccess funktionierte vorher mit MAMP und auf dem Webserver einwandfrei. Ich habe in der httpd.conf den zweiten Eintrag von AllowOverride None zu AllowOverride All gesetzt. In username.conf habe ich den Eintrag von AllowOverride None zu AllowOverride All gesetzt.
Wenn ich nun meine lokale Seite öffne, bekomme ich Fehler 403, habe also keinen Zugriff. Woran liegt das? Muss ich noch etwas bei der Änderung der Dateien username.conf und httpd.conf beachten?

Gruß zoom

Edit: Offensichtlich liegt das Problem an dem 'RewriteEngine on' - Befehl. Aktiviert ist er in der httpd.conf. Wer kann mir helfen?
 
Zuletzt bearbeitet:
Evtl. musst du noch die "SymLinks" für den jeweiligen Host aktivieren (z.B. in der Datei "httpd-vhosts.conf" im Ordner "Extra").

Ein Beispiel:
Code:
<VirtualHost 127.0.0.1>
    DocumentRoot "/document/root"
    ServerName meinservername
    <Directory "/document/root">
[...]
        Options +FollowSymLinks
        AllowOverride All
    </Directory>
</VirtualHost>
 
Kannst du das evtl. weiter erläutern? Was sind SymLinks? Aktuell steht in der http-vhosts.conf folgendes:
Code:
<VirtualHost *:80>
    ServerAdmin [email protected]
    DocumentRoot "/usr/docs/dummy-host.example.com"
    ServerName dummy-host.example.com
    ServerAlias www.dummy-host.example.com
    ErrorLog "/private/var/log/apache2/dummy-host.example.com-error_log"
    CustomLog "/private/var/log/apache2/dummy-host.example.com-access_log" common
</VirtualHost>
Was meinst du mit [...] in deinem Beispiel?

Gruß zoom
 
Hallo zoom,

du verwendest also keine virtuellen Hosts? :-)

Dann vergesse mal kurz meine Ausführungen zu vhosts und füge folgenden Code in die httpd.conf ein:
Code:
    Options FollowSymLinks
    AllowOverride All
Entweder bei den "Defaults" oder nur für das gewünschte Verzeichnis.
Die Standardeinstellungen befinden sich bei mir ab der Zeile 185 und sehen so aus:
Code:
# First, we configure the "default" to be a very restrictive set of 
# features.  
#
<Directory />
    Options FollowSymLinks
    AllowOverride [B]None[/B]
    Order deny,allow
    Deny from all
</Directory>



Was meinst du mit [...] in deinem Beispiel?
Das gewöhnliche typografische Auslassen :-)
An dieser stelle stehen z.B. Angaben zum Logfile etc.
 
  • Like
Reaktionen: onliner
Hallo bond,

AllowOverride habe ich auf All gesetzt. Dennoch verweigert mir die .htaccess aufgrund der Rewrite Regeln den Zugriff. Es hat sich also nichts geändert. Gibt es noch eine Idee?
Ach und herzlich Willkommen im Forum ;)

Gruß zoom
 
Also die error_log sagt:
Code:
[Sat Mar 07 11:26:37 2009] [error] [client 192.168.1.68] 
Options FollowSymLinks or SymLinksIfOwnerMatch is off which 
implies that RewriteRule directive is forbidden: 
/Users/ich/Sites/testseite/
Was sagt mir das? Irgendwo muss Options FollowSymLinks noch aktiviert werden. In der http.conf steht:
Code:
# First, we configure the "default" to be a very restrictive set of 
# features.  
#
<Directory />
    Options FollowSymLinks
    AllowOverride All
    Order deny,allow
    Deny from all
</Directory>
[...]
 # AllowOverride controls what directives may be placed in .htaccess files.
    # It can be "All", "None", or any combination of the keywords:
    #   Options FileInfo AuthConfig Limit
    #
    AllowOverride All

    #
    # Controls who can get stuff from this server.
    #
    Order allow,deny
    Allow from all
Außerdem habe ich in der username.conf AllowOverride auf All gesetzt. Zweite Möglichkeit laut error_log "SymLinksIfOwnerMatch is off". Dazu kenne ich mich nicht genug aus. Wo finde ich diesen Befehl bzw. was muss ich ändern?