mod_rewrite
Anders Winkler
- webserver
Hallo Forum,
kann mir jemand vielleicht weiterhelfen? Ich möchte, dass der Aufruf von folgender URL:
http://www.mydomain.de/splash/?a=1
zum Aufruf von
http://www.mydomain.de/page.php
führt, und zwar mit folgenden Parametern:
a=1 und id=splash
Also als Ganzes:
http://www.mydomain.de/page.php?a=1&id=splash
---------
Folgendes schlägt fehl:
RewriteRule ^splash/(.*)$ /page.php$2&id=splash
Offenbar muss man das &id=splash irgendwie escapen, ich weiß allerdings nicht wie!
Zweiter Versuch:
RewriteRule ^(splash)/(.*)$ /page.php$2 [env=id:$1]
Nun würde ich erwarten, dass ich in meinem PHP-Skript in $_SERVER['id'] den Wert "splash" finden würde. Seltsamerweise aber findet sich der Wert in $_SERVER['REDIRECT_id']. Wie kommt das?
Danke für jeden Tipp,
Anders
Hi,
Folgendes schlägt fehl:
RewriteRule ^splash/(.*)$ /page.php$2&id=splash
Hmm, ich würde das so machen:
RewriteRule ^splash/(.*)$ /page.php$1&id=splash [L]
Dann sollte es eigendlich gehen, ich sehe sonst keinen Fehler...
Liebe Grüße
Stephan
Hallo Stephan,
RewriteRule ^splash/(.*)$ /page.php$1&id=splash [L]
Dann sollte es eigendlich gehen, ich sehe sonst keinen Fehler...
bei Aufruf von
http://www.mydomain.de/splash/?a=1
ist das Ergebnis
"The requested URL /page.php&id=splash was not found on this server."
Man beachte, dass zwischen "page.php" und "&id=splash" nichts steht. Nehme ich allerdings das "&id=splash" aus der Rule weg, macht Apache den folgenden Aufruf:
page.php?a=1
Offenbar kommt mod_rewrite nicht damit klar, dass direkt hinter dem "$1" noch etwas folgt ("$1&id=splash")!?
Danke und schöne Grüsse, Anders
use Mosche;
http://www.mydomain.de/splash/?a=1
[zu]
http://www.mydomain.de/page.php?a=1&id=splash
RewriteRule ^splash/(.*)$ /page.php$2&id=splash
Deine RewriteRule trifft nicht auf den aufgerufenen Pfad zu, denn dieser ist '/splash...' und nicht 'splash...'. Schreibe also entweder in die RewriteRule '^/splash/...' oder vorher einfach
RewriteBase /
use Tschoe qw(Matti);
Hallo Matti,
Deine RewriteRule trifft nicht auf den aufgerufenen Pfad zu, denn dieser ist '/splash...' und nicht 'splash...'. Schreibe also entweder in die RewriteRule '^/splash/...' oder vorher einfach
RewriteBase /
Danke, aber das klappt definitiv auch ohne den führenden Slash!
Schönen Gruss,
Anders
use Mosche;
Deine RewriteRule trifft nicht auf den aufgerufenen Pfad zu, denn dieser ist '/splash...' und nicht 'splash...'. Schreibe also entweder in die RewriteRule '^/splash/...' oder vorher einfach
RewriteBase /
Hast du es denn schon mal mit RewriteLog probiert? Was sagt die Log-Datei?
use Tschoe qw(Matti);