[mod_rewrite] RewriteRule und ErrorDocument

diggity

Erfahrenes Mitglied
Hallo Leute!

Hab folgende rw-rule:

PHP:
RewriteRule ^newsletter/track/([a-z0-9]).jpg$ /sites/admin/newsletter_track.php?hash=$1

und eben auch dieses ErrorDocument in der selben .htaccess:
PHP:
ErrorDocument 404 /errorpages/404.php

Nun wird die RewriteRule nicht befolgt und stattdessen das ErrorDocument ausgegeben. Wenn ich das ErrorDocument rausnehme, funktioniert die RewriteRule.

Gibts da irgend eine Lösung?

€dit: meine komplette .htaccess sieht so aus:

Code:
RewriteEngine on

RewriteRule ^([_a-z]*)/$ index.php?cat=$1&sub=news
RewriteRule ^([_a-z]*)/([a-z]*)$ index.php?cat=$1&sub=$2
RewriteRule ^([_a-z]*)/([a-z]*)/([-0-9]*)$ index.php?cat=$1&sub=$2&monat=$3
RewriteRule ^([_a-z]*)/([a-z]*)/id/([0-9]+)$ index.php?cat=$1&sub=$2&show=$3
RewriteRule ^([_a-z]*)/([a-z]*)/([-0-9]*)/([0-9]+)$ index.php?cat=$1&sub=$2&monat=$3&id=$4

RewriteRule ^newsletter/track/([a-z0-9]).jpg$ /sites/admin/newsletter_track.php?hash=$1

Options -Indexes
ErrorDocument 404 /errorpages/404.php
php_flag register_globals off

Und nur die eine RewriteRule funktioniert nicht ... wie oben beschrieben.
 
Zuletzt bearbeitet:
Welchen Test-URL setzt du denn ein? Sonst probier mal Folgendes:
Code:
RewriteRule	^newsletter/track/([a-z0-9]+)\.jpg$	/sites/admin/newsletter_track.php?hash=$1	[L]
 
Gumbo hat gesagt.:
Welchen Test-URL setzt du denn ein? Sonst probier mal Folgendes:
Code:
RewriteRule	^newsletter/track/([a-z0-9]+)\.jpg$	/sites/admin/newsletter_track.php?hash=$1	[L]

Habs jetzt geändert so wie Du es beschrieben hast, leider keine Änderung.

Ich teste zB. mit sowas: newsletter/hash/sdsafdsdf.jpg
Später, wenn das mal funktioniert, werden md5-hashes übergeben.

Wie gesagt, wenn ich die Zeile mit dem ErrorDocument raus nehme, funktionierts.
 
Zuletzt bearbeitet:
Ich hoffe, du weißt, dass sich das genannte Muster und der Test-URL nicht passen. Denn ein „newsletter/hash/sdsafdsdf.jpg“ passt einfach nicht in das Muster „^newsletter/track/([a-z0-9]+)\.jpg$“.
 
Gumbo hat gesagt.:
Ich hoffe, du weißt, dass sich das genannte Muster und der Test-URL nicht passen. Denn ein „newsletter/hash/sdsafdsdf.jpg“ passt einfach nicht in das Muster „^newsletter/track/([a-z0-9]+)\.jpg$“.

Mhm ... *in die Ecke stell und schäm* ... hab ich mich wohl in der Eile vertan...
Aber in der ursprünglichen Form wie ichs gehabt hab, hats nicht funktioniert.

Code:
RewriteRule ^newsletter/track/([a-z0-9]).jpg$ /sites/admin/newsletter_track.php?hash=$1
So funktionierts nicht.

Sobald ich den + Quantifier hinzufüge, funktioniert es =)

Danke vielmals!
 
Hab jetzt den Backslash auch noch eingefügt, inwiefern ist diese Regel jetzt "optimiert"?
 
Ein Punkt hat in der Syntax regulären Ausdrücke eine besondere Bedeutung: es steht nämlich für nur ein beliebiges Zeichen. Diese aufzuheben, ist mit dem so genannten Flüchten möglich, wodurch es für einen Punkt steht.
 
Zurück