PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : mod_rewrite und Apache2 auf Linux (Internal Server Error)



Mozie
20.05.15, 13:45
Hallo liebe Community,

ich habe folgendes Problem und habe meherere Lösungen aus dem Web (Dank Google) probiert. bekomme aber immernoch einen "500- Internal Server Error" oder einen "404- Not Found".

Vorab:
Ich habe einen Linux (Debian) Server, auf den läuft Apache mit FastCGI. Rootverzeichnis ist /web/users/user1/www/ indem die Website liegt.
Das aufrufen einer html oder php Datei funktioniert einwandfrei. Auch Ordner kann der Apache ausgeben. Somit gehe ich davon aus, das es nicht an irgend welchen Berechtigungen fehlt.

Folgende Anleitung habe ich genutzt:
http://wiki.ubuntuusers.de/Apache/mod_rewrite

Mein Problem, ich bekomme egal was ich mache immer einen Fehler. Auf anderen Servern (Lima, Bplaced und co.) läuft die Website. Also vermute ich einen Konfigurationsfehler von Apache.

Meine .htaccess


RewriteEngine On

#RewriteBase /

RewriteCond %{REQUEST_URI} !^(.*)/css/(.*)$ [NC]
RewriteCond %{REQUEST_URI} !^(.*)/images/(.*)$ [NC]
RewriteCond %{REQUEST_URI} !^(.*)/administration/(.*)$ [NC]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l

#RewriteCond %{REQUEST_URI} ^/[^.]+[^/]$
#RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1/ [R=301,L]

RewriteRule ^([^/]*)$ index.php?id=$1 [L]
Mein Virtueller Host:


<VirtualHost *:80>
ServerAdmin postmaster@example.com
ServerName user1.debian
ServerAlias www.user1.debian
ServerSignature Off
# Bestimmung der Rechte
SuexecUserGroup user1 user1
# Handler für PHP Dateien festlegen
AddHandler fcgid-script .php
DocumentRoot "/web/users/user1/www"
DirectoryIndex index.htm index.html index.php
<Directory "/">
Options +FollowSymLinks
AllowOverride FileInfo
</Directory>
<Directory "/web/users/user1/www">
Options +Indexes +ExecCGI
FCGIWrapper /web/users/user1/bin/php5-cgi .php
Order allow,deny
Allow from all
</Directory>
ErrorLog /web/users/user1/log/error.log
CustomLog /web/users/user1/log/access.log combined
LogLevel warn
</VirtualHost>

Könnt ihr mir bei der Konfiguration helfen oder mir Tipps geben, wo der Fehler sein könnte, bzw. was ich besser machen könnte.
Über passende Literatur zum Thema würde ich mich auch sehr freuen.

MFG Michael

muell200
20.05.15, 13:56
hallo - erstmal willkommen auf dem forum...



...
ich habe folgendes Problem und habe meherere Lösungen aus dem Web (Dank Google) probiert. bekomme aber immernoch einen "500- Internal Server Error" oder einen "404- Not Found".
...
Könnt ihr mir bei der Konfiguration helfen oder mir Tipps geben, wo der Fehler sein könnte, bzw. was ich besser machen könnte.
...


was steht in den logs, wenn der 500er fehler kommt...

Mozie
20.05.15, 14:07
Hi, danke für deine schnelle Antwort.

In der Log steht:

[Wed May 20 14:05:42.517446 2015] [core:alert] [pid 7843:tid 140310793410304] [client 192.168.231.1:51366] /web/users/user1/www/.htaccess: order not allowed here, referer: http://user1.debian/

Danke im Voraus für deine Hilfe.

marce
20.05.15, 20:23
Ungenügende bzw. fehlende AllowOverride-Direktive im VHost.

http://httpd.apache.org/docs/2.2/mod/core.html#allowoverride

Mozie
22.05.15, 08:21
Hallo,

danke für eure Antworten und Hilfe zum Thema. Den Fehler habe ich selbst gefunden. Man schaue in die virtuelle Hostdatei, wo die Log abgespeichert wird. Ich habe es vollkommen verhauen und immer wieder in die FALSCHE Log geschaut und daher nie Fehler entdeckt :THX:

Ein Blick in die Richtige Log zeigt den Fehler "order not allowed here". Ich hatte somit ein Problem mit der AllowOverride-Direktive. In meiner .htaccess stand noch ein Zugangsverbot für ein Verzeichnis. Und mit FileInfo ist es mir in der htaccess nicht erlaubt dieses zu benutzen. Daher noch ein Limit hinzugefügt und das Modul funktioniert.

Was habe ich heute gelernt? Schaue dir die RICHTIGE Log-Datei an.

MFG Micha