![]() |
URLs umschreiben und GET-String behalten
Morgen.
Ich hab grad ein Problem. Ich will einen Zugriff auf ./actions/write_article umschreiben lassen auf ./article.php?action=write Das Problem ist: Ich übergebe immer noch mit GET eine Session-ID. Der Request-String sieht dann etwa so aus: /actions/write_article?sid=01234567890abcdef Meine momentane RewriteRule sieht so aus: RewriteRule ^actions[/\\]{1}write_article$ article.php?action=write [L] Dabei wird jedoch die Session-ID abgeschnitten. Wie verhindere ich das? |
Re: URLs umschreiben und GET-String behalten
Probier’s mal so:
Code:
^/actions/write_article\?sid=(.+)$ article.php?action=write?sid=$1
|
Re: URLs umschreiben und GET-String behalten
Nein, leider nicht.
Der RegEx matcht nicht, auch nicht wenn ich den / vorne entferne (der IMHO auch weg gehört). |
Re: URLs umschreiben und GET-String behalten
Da bedeutet du übergibst 2 Get-Parameter (action und id)? Die Parameter werden durch & getrennt (test.php?action=bla&id=12345)
Kannst du mal konkret ein Beispiel angeben, wie es umgeschrieben werden soll? Ich werd daraus irgendwie nicht schlau. :( MfG freak |
Re: URLs umschreiben und GET-String behalten
Fast.
Reinkommen tut: actions/write_article?sid=0123456789abcdef Rauskommen soll: article.php?action=write&sid=01234567890abcdef |
Re: URLs umschreiben und GET-String behalten
Ups, ich hab ja oben ein <?> statt einem <&> zwischen die Parameter geschrieben :oops: .
Code:
Aber gehen tut’s trotzdem nicht?
^/actions/write_article\?sid=(.+)$ article.php?action=write&sid=$1
|
Re: URLs umschreiben und GET-String behalten
jep
|
Re: URLs umschreiben und GET-String behalten
*push*
|
Re: URLs umschreiben und GET-String behalten
Zitat:
Delphi-Quellcode:
article.php?action=write&sid=$_REQUEST['sid']
|
Re: URLs umschreiben und GET-String behalten
Code:
Vorgestern konnte ich reguläre Ausdrücke noch nicht mal lesen. Heute poste ich mal meinen Versuch. In php hab ich es hinbekommen, in der .htaccess konnte ich es leider nicht testen. Hab seit 15min Feierabend. ;) Aber vielleicht hilft es irgendwas.<? $str1 = "actions/write_article?sid=0123456789abcdef"; echo $str1 . ' '; ereg('([a-z]+)s/([a-z]+)_([a-z]+)\?sid=([a-z0-9]+)', $str1, $res); # .htacces: '^([a-z]+)s/([a-z]+)_([a-z]+)\?sid=([a-z0-9]+)$ $3\.php\?$1=$2&sid=$4'; #echo $res[0] . " " . $res[1] . " " . $res[2] . " " . $res[3] . " " . $res[4] . ' '; echo $res[3] . '.php?' . $res[1] . '=' . $res[2] . '&sid=' . $res[4] . ' '; echo "article.php?action=write&sid=0123456789abcdef"; ?> MfG freak |
Re: URLs umschreiben und GET-String behalten
Das Problem ist offenbar, dass der GET-String gar nicht mit umgeschrieben wird...
|
Re: URLs umschreiben und GET-String behalten
Zitat:
MfG freak |
Re: URLs umschreiben und GET-String behalten
Zitat:
Einzige Möglichkeit, die ich gefunden hab: Die gegebene Datei erstellen und per PHP den GET-String durch n RegEx jagen und dann per header(...) umleiten... mfg Christian |
Re: URLs umschreiben und GET-String behalten
Gibts da irgendeinen Grund dafür, warum der Apache sowas macht? :shock:
|
Re: URLs umschreiben und GET-String behalten
Zitat:
mfg Christian |
Re: URLs umschreiben und GET-String behalten
Naja aber eine Session-ID muss ich trotzdem erstellen und mitgeben...
Mit Cookies kann man das sicher vermeiden, aber es soll ja immer noch Leute geben, die keine keine Cookies mögen. |
Re: URLs umschreiben und GET-String behalten
Zitat:
Code:
Das Ganze anpassen und als actions/write_article/index.php abspeichern. Dann sollte es funktionieren...
<?php
$pattern = '...'; $params = urldecode($_SERVER['QUERY_STRING']); $matches = array(); $redirect_url = '...'; if(preg_match($pattern, $params, $matches)) { for($i = 1; $i <= <Anzahl>; $i++) { $redirect_url = str_replace('$' . $i, $matches[$i], $redirect_url); } header('Location: ' . $redirect_url); } else { header('Location: ' . '...'); } ?> mfg Christian |
Re: URLs umschreiben und GET-String behalten
Najaa, ein bissel umständlich, vor allem dann, wenn man sowas hat wie articles/Artikelname, dann müsste ich für jeden Artikel nen Ordner+PHP-Datei erstellen.
|
Re: URLs umschreiben und GET-String behalten
Zitat:
|
Re: URLs umschreiben und GET-String behalten
:mrgreen:
Wie macht das eigentlich die DP? Da gibts ja auch so was ähnliches. |
Re: URLs umschreiben und GET-String behalten
*push*
|
Re: URLs umschreiben und GET-String behalten
*push*
|
Re: URLs umschreiben und GET-String behalten
Welche Apache-Version hast du? Bei nem 2er hätt ich vielleicht noch n Ansatz...
mfg Christian |
Re: URLs umschreiben und GET-String behalten
Die soll variabel sein. Wie gesagt, wie funktioniert das denn bei der DP?
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:39 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz