it-swarm.com.de

Apache mod_rewrite Problem

Ich versuche, mit Apache mod_rewrite einige Seiten auf der Website meines Kunden auf die Homepage umzuleiten. Die .htaccess-Datei lautet wie folgt:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^environment/teach-your-kids-to-go-green/(.*) [DOMAINNAME]/$1 [R=301,L]
RewriteRule ^a3ff/(.*) [DOMAINNAME]/$1 [R=301,L]
RewriteRule ^a3ff/event\.html(.*) [DOMAINNAME]/$1 [R=301,L]
RewriteRule ^a3ff/films\.html(.*) [DOMAINNAME]/$1 [R=301,L]
RewriteRule ^a3ff/lastcomm\.html(.*) [DOMAINNAME]/$1 [R=301,L]
RewriteRule ^a3ff/join\.html(.*) [DOMAINNAME]/$1 [R=301,L]
RewriteRule ^capturenature(.*) [DOMAINNAME]/$1 [R=301,L]
RewriteRule ^a3ff/blog\.html(.*) [DOMAINNAME]/$1 [R=301,L]
RewriteRule ^capturenatur(.*) [DOMAINNAME]/$1 [R=301,L]
RewriteRule ^a3ff/roadtomecca\.html(.*) [DOMAINNAME]/$1 [R=301,L]
RewriteRule ^capturenature/(.*) [DOMAINNAME]/$1 [R=301,L]
RewriteRule ^shopping/engagement-rings-for-men/(.*) [DOMAINNAME]/$1 [R=301,L]
RewriteRule ^a3ff/thecallhome\.html(.*) [DOMAINNAME]/$1 [R=301,L]
RewriteRule ^a3ff/stateofthings\.html(.*) [DOMAINNAME]/$1 [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

Aus irgendeinem Grund funktioniert diese Umschreiberegel - RewriteRule ^a3ff/(.*) [DOMAINNAME]/$1 [R=301,L] - auf dem Produktionsserver nicht. Es funktioniert jedoch auf meinem Entwicklungsserver. Wenn ich zum Beispiel RewriteRule ^a3fff/(.*) DOMAINNAME/$1 [R=301,L] benutze (ein Zeichen angehängt), funktioniert es perfekt. Es ist wahrscheinlich das seltsamste .htaccess-Problem, das ich je gesehen habe. Kann mir jemand helfen?

2
Vladimir

Was versuchst du zu erreichen?

So wie Sie (.) verwenden, können (und müssen) Sie nur genau ein Zeichen eingeben. Zum Beispiel:

http://example.com/a3ff/X   => http://domainname/X
http://example.com/a3ff/    => Not matched by any rule
http://example.com/a3ff/ABC => http://domainname/A

Was Sie wollen, ist wahrscheinlich eher

RewriteRule ^a3ff/(.*) [DOMAINNAME]/$1 [R=301,QSA,L]
3
dog