muss ich den string in der .htaccess datei noch encoden und dan erst an das script index.php?warengrupp=$1 weitergeben? der string (link) wird encodet übergeben, jedoch kommt er ohne (zum beispiel +) sonderzeichen an. ich weiß wirklich nicht mehr weiter. was kann ich tun, damit auch sonderzeichen erlaubt sind?
ModRewrite
Einklappen
X
-
-
Original geschrieben von bweichel
der string (link) wird encodet übergebenI don't believe in rebirth. Actually, I never did in my whole lives.
Kommentar
-
ja richtig. der komplette link lautet:
http://www.example.com/DVD%2BR/?PHPS...3ef9daa4b7e7f1
EDIT:
by TobiaZ: hab mal die überflüssigen URL-Tags entfernt, damit ich nicht mehr so weit scrollen muss. Und den PHP-Tag gleich mit. Die sind für Code.Zuletzt geändert von TobiaZ; 07.09.2006, 18:12.
Kommentar
-
OK, und ohne rewriten bekommst du damit dein +, und mit aber nicht mehr.
Hm, ich hätte eigentlich erwartet, dass das nur beim Setzen des Flags noescape|NE passieren würde.
Dann würde mir nur noch einfallen, REQUEST_URI im Script selber abzufragen - das sollte eigentlich beim internen Rewriten nicht verändert werden.I don't believe in rebirth. Actually, I never did in my whole lives.
Kommentar
-
modrewrite und urldecode
Hallo,
ich verwende modrewrite und möchte den String nach www.example.de der folgenden eingehende URL in einem Datenbankabfrage verwenden. Daher dekodiere ich den String nach dem Erhalt mit urldecode().
Wenn ich das ohne meine modrewrite-Regeln tue, als direkt auf das Script mit einer Variable und dem Wert verlinke, funktioniert die Abfrage auch. Sobald ich das Ganze jedoch wieder über Modrewrite laufen lasse wird die Seite nicht gefunden.
Meine modrewrite Regeln lauten wie folgt:
PHP-Code:RewriteEngine on
RewriteRule ^([A-Za-z0-9]+)/$ example.list.php?kategorie=$1
RewriteRule ^index.html$ index.php
Bitte um Hilfe!
Danke!
Gruß Björn
Kommentar
-
Sobald ich das Ganze jedoch wieder über Modrewrite laufen lasse wird die Seite nicht gefunden.
Das ist doch ganz offensichtlich ne falsche einstellung.
poste mal über welche url du aufrufst und welche rule da greifen soll.
*move* nach konfig
Kommentar
-
Also ich rufe über folgende URL auf:
http://www.example.de/Satz mit X/
und greifen soll folgende ModRewrite Einstellung
RewriteEngine on
RewriteRule ^([A-Za-z0-9]+)/$ example.list.php?kategorie=$1
Ich hoffe das war jetzt der richtige Post auf deine Frage...
Kommentar
-
Die URLs werden wie man weiter oben schon festgestellt hat von modrewrite bereits "encode"d übergeben. Ich habe hier nur die URL direkt im Browser aufgerufen. Übergeben werden die URLs wie gesagt codiert. Im PHP Script habe ich dann die GET Variable aus dem Script wieder decodiert. Muss ich das bereits in den ModRewrite Regeln machen? Wenn ja, wie lautet hierfür der Syntax?
Im PHP Script steht
$_GET['kategorie'] = urldecode($_GET['kategorie']);
Kommentar
-
wann kommst du bitte endlich auf den trichter, dass dein ganzer PHP-kram damit gar nichts zu tun hat. die PHP-Datei wird schließlich nichtmal aufgerufen.
Im übrigen sehe ich nichtmal den ansatz, dass du versucht hast ein leerzeichen in die regex einzufügen.
Kommentar
Kommentar