redirecionamento .htaccess com fragmento
-
21-08-2019 - |
Pergunta
Eu preciso emitir um redirecionamento, usando .htaccess, a uma URL com um fragmento (também conhecido como uma âncora), mas está escapando automaticamente o #.
No momento, eu quero um fragmento codificado, mas para o bem dos outros, se você sabe como levá-la a partir do URL também que seria bom.
Idealmente, eu deveria ser capaz de usar QSA também.
Por exemplo:
http://www.exameple.com/test?foo=bar
deve tornar-se
1) http://www.example.com/?foo=bar#MYVALUE
ou tomar o fragmento a partir da url:
2) http://www.example.com/?foo=bar#test
O meu (não-trabalho) parece um código como este:
RewriteRule /test http://www.example.com/#MYVALE [R,QSA]
Solução
Eu acho que eu tenho que descobri ...
RewriteCond %{HTTPS} off
RewriteCond %{REQUEST_URI} /test
RewriteRule ^test/?(.*)$ $1 [C]
RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1?%{QUERY_STRING}#MYVALUE [NE,L,R]
RewriteCond %{HTTPS} on
RewriteCond %{REQUEST_URI} /test
RewriteRule ^test/?(.*)$ $1 [C]
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1?%{QUERY_STRING}#MYVALUE [NE,L,R]
É um pouco pobre ter que fazê-lo uma vez para HTTP e novamente para HTTPS -. Vou ver se eu posso encontrar uma maneira de contornar isso
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow