È possibile accedere alle ancore in una stringa di query tramite PHP?
-
20-08-2019 - |
Domanda
Ho una pagina a cui si accede tramite un URL come questo:
http://power-coder.net/Test/something .php? id = 3 # Pagina1
So come accedere al parametro id usando $ _GET, tuttavia esiste un modo per accedere alla parte # Page1? Ho esaminato l'array $ _SERVER e REQUEST_URI termina con? Id = 3.
So che potrei anche cambiare # Pagina1 in un parametro aggiuntivo come & amp; Pagina = 1, tuttavia c'è un bel po 'di codice che usa il vecchio tipo di URL che vorrei evitare di riscrivere se possibile,
Grazie per l'aiuto.
Soluzione
No, non c'è modo. La parte del frammento (l'etichetta dopo #) non viene trasmessa al server.
Il browser recupera il documento http://power-coder.net/Test /something.php?id=3 e quindi vai all'ancoraggio corretto (se presente) nel documento.
Altri suggerimenti
Il testo pertinente di le specifiche :
4.1. Identificatore di frammento
Quando viene utilizzato un riferimento URI per eseguire un'azione di recupero su risorsa identificata, identificatore di frammento opzionale, separato da l'URI con un carattere di tratteggio incrociato (" # "), è composto da ulteriori informazioni di riferimento che devono essere interpretate dal programma utente dopo il l'azione di recupero è stata completata correttamente. Come tale, non lo è parte di un URI, ma viene spesso utilizzato insieme a un URI.
Nel caso in cui qualcuno stia ancora cercando una soluzione.
Basta inserire '& amp;' prima del tag anchor:
http://example.com/Test/something.php ? id = 3 amp &; # Pagina1
Testato su Chrome, Firefox, Safari e IE11