ancoraggio Pagina con mod_rewrite?
-
06-09-2019 - |
Domanda
Sto cercando di creare ancore pagina su un sito web che utilizza mod_rewrite (Apache2 in esecuzione su Ubuntu Server 9.04).
Il mio file .htaccess si presenta così:
RewriteEngine On
RewriteRule ^information.php/([A-Za-z0-9-]+)/?$ information.php?display=$1 [NC,NE]
Se stavo usando URL regolare è la query sarebbe simile a questa: http: //mydomain/information.php?display=faq#cost
Spero di ottenere qualcosa del genere: http: // mydomain / informazioni / faq / costo
È possibile? La mia comprensione è che modrewrite ignora ancore di pagina, e che il browser si occupa di esso? Sto indovinando che posso usare in qualche modo mod_rewrite per includere le informazioni di ancoraggio con la richiesta, ma non sono stato in grado di trovare qualcosa di documentare questo e hanno cercato, senza successo, di scrivere io stesso per ore.
Grazie!
Soluzione
In realtà, se si desidera che il risultante URL di avere un ancoraggio, allora sì, è possibile. Basta non dimenticare che nel file di configurazione di Apache, # segna l'inizio di un commento.
Se quello che vuoi è così - utente inserisce
http://example.com/page/anchore viene reindirizzato al
http://example.com/?p=page#anchor- si avrebbe bisogno di utilizzare 301 Redirect, o qualcosa del genere, quindi non sarebbe trasparente per l'utente
Conclusione: Anche se è possibile scrivere una regola di reindirizzamento, non può essere fatto interamente sul lato server. Quindi penso che si potrebbe puntare a /information/faq
/information.php?display=faq
e quindi utilizzare gli URL come ad esempio:.
http://example.com/information/faq#fooche sono quasi ciò che si vuole, più essi non rovinare la cache
(Whoa, è mezzanotte già?)