ebiz-consult PHP Entwicklung
- Ad -
IMPRESSUM dotted_line KONTAKT dotted_line search dotted_line Contact dotted_line sitemap
193 PHP-Resource Mitglieder online
php-resource



Archiv verlassen und diese Seite im Standarddesign anzeigen :
mod_rewrite will nicht


 
fabio
25-10-2009, 14:12 
 
hi zusammen

was komisches und mühsames läuft da gerade mit einem meiner hoster ab.
Ich habe für ein Restaurant/Catering eine Homepage gemacht und wollte diese nun auf den Server laden.
Es kam aber immer ein Error 500 Fehler, wenn die mod_rewrite rules aktiviert sind.

Die Datei sieht so aus:
RewriteEngine on
RewriteRule ^index.htm$ index.php?haupt=start&seite=$2&position=$3
RewriteRule ^([a-zA-z0-9-_]*),([a-zA-z0-9-_]*),([a-zA-z0-9-_]*).htm$ index.php?haupt=$1&seite=$2&position=$3


Das komische ist, sowohl auf zwei anderen Server, als auch lokal bei mir zuhause funktioniert alles tadellos.

Als Antwort beim Support kam folgendes:
In den Error Logs erhalten wir folgenden Fehlermeldung, wenn Sie Ihre "htaccess" Datei aktivieren:

Error Message:

.htaccess: RewriteRule: cannot compile regular expression '^([a-zA-z0-9-_]*),([a-zA-z0-9-_]*),([a-zA-z0-9-_]*).htm$'\n

Ich habe Ihnen die auf Ihrem Control-Panel die Error Logs aktiviert und im FTP-Root im Verzeichnis Logs, werden die Fehlermeldungen eingetragen.

Als alternative können Sie im Control-Panel direkt URL Umleitungen
(Redirect) erfassen.

Menu->Webservice->URL Umleitungen oder Verzeichnis Indexierungen erfassen

Danke im Voraus für Ihre Antwort


Die Fehlermeldung bei Errorlog lautet:
[Sun Oct 25 14:04:51 2009] [alert] [client 212.41.110.125] /hsphere/local/home/w39/.htaccess: RewriteRule: cannot compile regular expression '^([a-zA-z0-9-_]*),([a-zA-z0-9-_]*),([a-zA-z0-9-_]*).htm$'\n

Die .htaccess hat von mir "777"-Rechte, an dem sollte es nicht liegen.

Weiss jemand, ob evt etwas an der Rule falsch ist?

Danke im Vorraus

 
wahsaga
25-10-2009, 14:35 
 
^([a-zA-z0-9-_]*),([a-zA-z0-9-_]*),([a-zA-z0-9-_]*).htm$
Da kann ich erst mal nichts fehlerhaftes dran erkennen (ausser der fehlenden Maskierung des Sonderzeichens Punkt, die aber keinen syntaktischen Fehler darstellt.)

Welche Apache-Version läuft denn dort, wo das einen Fehler bringt?
Von 1 nach 2 hat sich das RegEx-Verständnis des Indianers m.W. geändert.

Versuch mal, das Minuszeichen, welches nur ein solche darstellen soll, an den Anfang oder Ende der Zeichenklassen zu stellen, oder alternativ es zu maskieren.

 
fabio
25-10-2009, 15:08 
 
Versuch mal, das Minuszeichen, welches nur ein solche darstellen soll, an den Anfang oder Ende der Zeichenklassen zu stellen, oder alternativ es zu maskieren.

Danke, das mit dem maskieren hat das Problem gelöst. Jetzt funktionierts.
Ist immer die schöne Sache, wenn der Kunde bereits einen Hoster irgendwo gemietet hat. Bis man dort all die Eigenheiten kennt.... (dieser hatte effektiv noch einen Apache 1 am laufen)
egal
Danke wahsaga für deine Hilfe

- -

Alle Zeitangaben in WEZ +2. Es ist jetzt 23:42 Uhr.