| | | | |
| |||||||
| PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen |
|
| | LinkBack | Themen-Optionen | Thema bewerten |
| | |
| Erfahrener Benutzer Registriert seit: 17.11.2003
Beiträge: 212
![]() | Hallo Zusammen, zur Problematik: Momentan nutze ich mod_rewrite, um die Aufrufe meiner Domain korrekt zu "entschlüsseln", die Anfragen an die richtigen Dateien zu leiten und die Parameter korrekt zu extrahieren. Da ich mir allerdings über die Domain auch encodierte URLs übertragen lassen möchte, stößt mod_rewrite an seine Grenzen, da dies aufgrund eines encoding-Bugs nicht möglich ist. So werden von mod_rewrite nur doppelt encodierte URLs korrekt übertragen. Dies ist allerdings nicht möglich, da ich auf die Art der Übertragung der URLs auf meine Domain keinen Einfluss habe. Warum ich keine "normalen" URLs nutzen möchte? - ich möchte möglichst kurze URLs - die Dateinamen sollen nicht ersichtlich sein (Sicherheit) - Parameter sollen nicht vorhanden sein (kurze URLs / Sicherheit) Da es scheinbar mit mod_rewrite selbst keine Lösungsmöglichkeit gibt (wenn du eine hast, her damit... das wäre für mich die optimalste Lösung) habe ich mir über Alternativen ohne mod_rewrite Gedanken gemacht. Ich bin auf folgende Lösung gekommen: Ich lasse alle Aufrufe der Domain intern auf eine Datei leiten. Diese schaut dann über die $_SERVER-Variable, was ursprünglich aufgerufen wurde und macht quasi das gleiche wie mod_rewrite, sprich zerteilt den String, wählt die korrekte PHP Datei und extrahiert die Parameter. Leider fällt mir keine Möglichkeit ein, dies praktisch umzusetzen. Nutze ich das ErrorDocument, habe ich keinen Zugriff mehr die ursprünglich aufgerufene Domain, somit ist es nicht möglich, die Parameter etc. abzufragen. Nutze ich mod_rewrite, besteht das oben beschriebene Problem, dass URLs Fehler verursachen. Die einzige Möglichkeit, die bestünde, wäre, die Dateinamen voll auszuschreiben und dann daran den "verschlüsselten" Query-String zu hängen. z. B.: http://test.de/test.php/param1;param2;param3 erreichen möchte ich aber gerne folgende URLs: http://test.de/test;param1;param2;param3 Zudem ist die beschriebene Methode ist eher suboptimal, da diese etwas länger ist, als die gewünschte Methode und außerdem klar den Dateinamen zeigt. "test" ist natürlich nur ein Beispiel. In der Praxis hat der erste Parameter der gewünschten URL eine andere Bezeichnung als die Datei. Ich hoffe ich konnte die Problematik einigermaßen Verständlich erklären und hoffe auf hilfreiche Antworten. Vielen Dank!!! |
| | |
| | |
| PHP Code Flüsterer Registriert seit: 21.08.2005 Beiträge: 4682 PHP-Kenntnisse: Fortgeschritten | |
| | |
| Moderator und Wett-König | Hallo R4c3r, an sich ist die von dir beschriebene Lösung doch mit mod_rewrite kein Problem. Möchtest du z.B. Code: http://test.de/test;param1;param2;param3 Code: RewriteRule ^/([A-Za-z0-9]);(.*) /$1.php?query=$2 [NC,L] Für Slash-URLs mit und ohne FrontController-Anweisungen erledige ich das in selbiger Art und Weise. Einzige Einschränkung ist dort, dass die Bootstrap-Datei nicht beliebig ist, sondern immer index.php heißt. Probier's mal aus!
__________________ Viele Grüße, Dr.E. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1. Think about software design before you start to write code! 2. Discuss and review it together with experts! 3. Choose good tools (-> Adventure PHP Framework (APF))! 4. Write clean and reusable software only! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| | |
| | ||
| Moderator und Wett-König | Hallo, Zitat:
__________________ Viele Grüße, Dr.E. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1. Think about software design before you start to write code! 2. Discuss and review it together with experts! 3. Choose good tools (-> Adventure PHP Framework (APF))! 4. Write clean and reusable software only! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
| | |
|
| Themen-Optionen | |
| Thema bewerten | |
|
|
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Datei auf FTP-Server ändern ohne lokal abzuspeichern | faux | PHP-Fortgeschrittene | 11 | 02.09.2005 11:54 |
| wie kann ich einen datei von fremder domain einlesen | janni | PHP Tipps 2005 | 8 | 17.04.2005 20:28 |
| [Erledigt] Zugriff auf php Datei von anderen Domain sperren | PHP Tipps 2004 | 1 | 29.08.2004 13:12 | |