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]
W jaki sposób używasz tego adresu URL? – Gumbo
Wierzę, że kod urlencode powinien zmienić to na% 23, czy możesz podać przykładowy kod? –
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