2011-02-10 12 views
34

Mam projekt PHP, w którym muszę wysłać znak skrótu (#) w ścieżce adresu URL. (http://www.example.com/parameter#23/parameter#67/index.php) Myślałem, że kod urnij pozwoli na to, przekształcając hash na% 23Używanie mod_rewrite do konwersji ścieżek ze znakami skrótu na ciągi zapytań

Ale teraz widzę, że nawet skrócony hash zmusza przeglądarkę do traktowania wszystkiego z prawej strony jako fragment adresu URL (lub zapytanie).

Czy istnieje sposób przekazania skrótu, czy też muszę zmienić znak przed kodem urn?

Edycja dodać (19 wrz 2017):

Okazuje się, że pytałam niewłaściwe pytanie. Mój problem polegał nie na używaniu znaku skrótu w ścieżce (kodowanie to działa), ale na użyciu mod_rewrite do konwersji na ciąg zapytania. Nie udało mi się ponownie go zakodować w RewriteRule. Będę edytować tytuł do dopasowania.

Oto reguła przepisywania używałem:

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

Jak tylko dodałem tag B, to działało poprawnie:

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

W jaki sposób używasz tego adresu URL? – Gumbo

+0

Wierzę, że kod urlencode powinien zmienić to na% 23, czy możesz podać przykładowy kod? –

+0

Tworzę statyczne linki do dynamicznie tworzonych plików PDF. Używam modrewrite do przekazania elementów ścieżki do $ _GET. Są to parrametry produktu potrzebne do utworzenia pliku PDF. Niektóre produkty mają znaczniki hash w nazwach produktów. – Mark

Odpowiedz

84

zakodować Hash w adresie URL z% 23

http://twitter.com/home?status=I+believe+in+%23love 

"wierzę w #love"

Kodowanie adresu URL Odniesienie: http://www.w3schools.com/tags/ref_urlencode.asp

+0

Dzięki! To całkiem nowa odpowiedź :) – Spider

+2

To działa, zaskakujące, że odpowiedź trwała tak długo, aż otrzymała odpowiedź – benjineer

+0

Oznaczono tę odpowiedź jako poprawną. Zastanawiam się, czy nastąpiła zmiana w przeglądarkach od momentu, w którym ją zadałem. Zdecydowanie wypróbowałem% 23. – Mark

Powiązane problemy