mod_rewrite und Apache2 auf Linux (Internal Server Error)
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
apache
bearbeiten
code
dank
datei
fehler
freuen
geschrieben url
http
index
log
modul
not
ordern
passende literatur
post
rechner
richtige log
url
weben
-
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
Mein Virtueller Host: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]
<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 -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Was sagt denn deine phpinfo? Ist modwrite denn auch auf on?
-
Hey,
da PHP als CGI und nicht als Apache-Modul läuft, können die Apache-Module nicht innerhalb PHP ausgelesen und somit auch nicht in phpinfo() angezeigt werden.
Folgendes Kommando ergibt, dass das Modul aktiv ist.
a2enmod rewrite Module rewrite already enabled
-
michaelkoepke schrieb:
Über passende Literatur zum Thema würde ich mich auch sehr freuen.
Ich habe zu dem Thema mal einen Post in meinem Blog geschrieben: Tutorial: mod_rewrite auf Ubuntu-Rechner mit Apache2 (Das Tutorial ist zwar für Ubuntu, aber sollte auch unter Debian funktionieren - Ubuntu baut ja auf Debian auf ...)
Den Teil mit dem Bearbeiten der /etc/apache2/apache2.conf - Datei solltest du auf jeden Fall mal überprüfen. -
webfreclan schrieb:
Ich habe zu dem Thema mal einen Post in meinem Blog geschrieben: Tutorial: mod_rewrite auf Ubuntu-Rechner mit Apache2 (Das Tutorial ist zwar für Ubuntu, aber sollte auch unter Debian funktionieren - Ubuntu baut ja auf Debian auf ...)
Den Teil mit dem Bearbeiten der /etc/apache2/apache2.conf - Datei solltest du auf jeden Fall mal überprüfen.
Hey, danke für die Info (cooler Blog) jedoch benötige ich keine Grundlagen über das Einrichten, das klappt ja alles (Bin schon ein wenig weiter).
Aber DANKE für eue Hilfe. 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
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 -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage