Mit mod_rewrite umwandeln Pfade mit hash-Zeichen in query-strings

Ich habe ein PHP-Projekt, wo ich zu senden, die einem hash-Zeichen (#) in den Pfad einer URL. (http://www.example.com/parameter#23/parameter#67/index.php) Ich dachte, dass urlencode erlauben würde, dass die Umwandlung der hash %23

Aber jetzt sehe ich, dass auch die urlencoded hash zwingt den browser zu behandeln, alles auf der rechten Seite das URL-fragment (oder Abfrage).

Ist es ein Weg, um pass ein hash durch, oder brauche ich, wenn ich eine Zeichen-Ersetzung vor urlencode?

Edit hinzufügen (Sep 19 2017):

Es stellt sich heraus, dass ich die falsche Frage gestellt. Mein Problem war nicht mit dem hash-Zeichen im Pfad (Codierung funktioniert es), aber mit mod_rewrite konvertieren Sie es in einen query-string. Ich hatte nicht re-encode es innerhalb der RewriteRule. Ich werde Bearbeiten Sie den Titel-match.

Hier ist die rewrite-Regel war ich mit:

RewriteEngine On
# convert path strings into query strings
RewriteRule "^(.*)/(.*)/hashtags.php"      /hashtags.php?parameter_1=$1&parameter_2=$2 [QSA,L]

Sobald ich fügte hinzu, die B-tag, es funktionierte richtig:

RewriteEngine On
# convert path strings into query strings
RewriteRule "^(.*)/(.*)/hashtags.php"      /hashtags.php?parameter_1=$1&parameter_2=$2 [QSA,L,B]

InformationsquelleAutor der Frage Mark | 2011-02-10

Schreibe einen Kommentar