2009-10-02 21 views
28

Sé que hay muchos trucos para hacer enlaces, por ejemplo <a href="?query=string"> se vinculará a la página actual después de agregar la cadena de consulta. ¿Hay alguna forma de volver a vincular a la página actual, después de eliminar la cadena de consulta sin simplemente escribir el nombre del archivo?Enlace a la página actual sin cadena de consulta

Ejemplo, en la página foo.php?q=3, quiero hacer un enlace a foo.php. ¿Hay una forma de atajo para hacer esto? El archivo cambiará de nombre varias veces, por lo que no quiero escribir un grupo de enlaces y luego tener que editarlos más tarde.

Edit: Aunque estos son archivos PHP, estoy tratando de evitar una solución del lado del servidor para este problema en particular.

+0

p.s. para cualquiera que esté pensando en anclas ... al parecer, a la comunidad no le agrada tanto que cualquiera que las publique como una solución se desvíe al abismo de los corchetes angulares – BozoJoe

Respuesta

48
href="?" 

No exactamente lo que está después - todavía hay un signo de interrogación al final - pero funcionalmente equivalente.

+1

Aunque esto es antiguo, estoy votando y comentando porque sigue siendo relevante , y es la única forma de hacer esto que no es del lado del servidor (lo que puedo decir) que funciona tanto en URL de extensión como de extensión. – trnelson

2

¿Está buscando un lado del cliente equivalente a $_SERVER['PHP_SELF']? ¿Algo que siempre se vinculará al archivo sin elementos adicionales después de la extensión?

no estoy seguro de si esto funciona en todos los navegadores, pero funciona muy bien en Firefox 3.5:

<a href="">Foo</a> 
+0

No borra la cadena de consulta existente. –

+0

+1 Como $ _SERVER ['PHP_SELF'] era realmente la solución que necesitaba. – ajcw

+1

'Foo' Lamentablemente, no funciona en IE. De: http://msdn.microsoft.com/en-us/library/cc848861%28v=vs.85%29.aspx - _Si HREF se especifica como un valor en blanco (href = "" o href =), la ejecución del enlace puede mostrar el directorio que contiene el documento actual, o puede generar un error, dependiendo de otros elementos en el documento y el entorno del servidor. –

-1

puede vincular a la página actual que es encendido con:

<a href="#">blah</a> 
+5

Esto no realiza una nueva solicitud al servidor en todos los navegadores. –

+2

No creo que realice una nueva solicitud en ningún navegador. – JJJ

14

Puede usar <a href="."> para volver a cargar la página actual y eliminar la cadena de consulta.

Consulte this para obtener una respuesta más detallada.

+3

Esto no funciona en IE 11, ¿pero el? hace. – Mint

+1

Esto no funciona con las URL sin extensión, desafortunadamente. Esta es la técnica que utilicé exclusivamente hasta que encontré este problema. – trnelson

Cuestiones relacionadas