Frage 500 Fehler auf dem Apache-Server - "AllowOverride ist hier nicht erlaubt"


Ich habe einen Server auf meinem Mac (OSX 10.9) eingerichtet, aber es gibt einen Fehler von 500 mit der folgenden Nachricht im Fehlerprotokoll ...

[alert] [client ::1] /Users/user/Sites/mysite/.htaccess: AllowOverride not allowed here

Hier ist der Code in meiner .htaccess-Datei

Options +FollowSymLinks -MultiViews
AllowOverride All

# Turn mod_rewrite on
RewriteEngine On
RewriteBase /

RewriteMap lc int:toLower
RewriteCond %{REQUEST_URI} [A-Z]
RewriteRule (.*) ${lc:$1} [R=301,L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^i/(.*)/(.*)-(.*)$ /items/?id=$1&range=$2&type=$3 [L,QSA,NC]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^c/(.*)$ /category/?menu=$1 [L,QSA,NC]

Und hier ist der relevante httpd.conf-Code (lass mich wissen, ob es noch etwas gibt, was helfen würde)

DocumentRoot "/Users/user/Sites/mysite"

<Directory />
    Options FollowSymLinks
    AllowOverride All
    Order deny,allow
    Deny from all
</Directory>

<Directory "/Users/user/Sites/mysite">
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>

Irgendwelche Ideen?


5
2017-11-22 20:50


Ursprung


Antworten:


AllowOverride All gehört nicht in die htaccess-Datei. Es wird in der Serverkonfiguration (httpd.conf) verwendet, um festzulegen, wie eine Serverkonfiguration eine htaccess-Datei parameteriert kann überschreiben. Natürlich wäre es falsch, konfigurieren zu können, welche Parameter htaccess-Dateien innerhalb von htaccess-Dateien überschreiben können.

Entferne es aus deiner htaccess Datei. Du hast es bereits definiert AllowOverride All in deiner httpd.conf an den richtigen Stellen.


9
2017-11-22 20:54



AllowOverride steuert .htaccess-security und -behaviour und konnte nicht in .htaccess-Dateien gesetzt werden.

Drop "AllowOverride All" von. Htaccess, das ist alles.


2
2017-11-22 20:56



Nehmen Sie AllowOverride All aus Ihrem .htaccess.


0
2017-11-22 20:54