El hipervínculo de Excel no redirige correctamente (¿error?)


33

Tengo un problema de hipervínculo de Excel: hago clic en, digamos A1, copio el enlace que contiene ( http://www.godaddy.com/domains/searchresults.aspx?ci=54814), hago clic derecho en el hipervínculo y copie esa MISMA URL como enlace (si no se detecta y cambia automáticamente).

Cuando hago clic en él, se me redirige a http://www.godaddy.com/domains/search.aspx?ci=53972.

Si copio y pego el enlace directamente en el navegador, funciona bien (es decir, no se me redirige a una URL diferente).

¿Alguien sabe lo que está pasando?


3
Me encontré con el mismo problema con una URL que requiere autenticación. Si hace clic desde una hoja de cálculo de Excel a una URL que requiere que inicie sesión en una sesión basada en cookies, la mayoría de los sitios redirigirán el Microsoft Discovery Agent a una página de inicio de sesión. A menos que el sitio sea lo suficientemente inteligente como para redirigir la solicitud de la página de inicio de sesión a la solicitud original en el caso de que el usuario ya haya iniciado sesión, terminará siendo obligado a iniciar sesión manualmente una vez que la página se cargue en su navegador real. La experiencia del usuario es que todos los enlaces parecen estar desconectados.
Joe

Respuestas:


36

La URL que está utilizando necesita más información de una cookie para mostrar los resultados de búsqueda en lugar de la página de búsqueda. Pegue la URL en un navegador diferente (o elimine sus cookies) y obtendrá los mismos resultados.

Al hacer clic en una URL en Excel, parece abrirla en su navegador predeterminado. Pero eso no es realmente cierto. Antes de abrirlo en su navegador, Excel primero ejecuta Microsoft Office Protocol Discovery . Esto utiliza un componente de Windows / Internet Explorer para determinar si la URL funciona. (No se identifica a sí mismo como Internet Explorer, sino como "Agente de usuario: Microsoft Office Existence Discovery"). Y si los resultados son (de alguna manera) correctos, se abrirá el resultado de esa comprobación en su navegador predeterminado.

Al carecer de cookies (más precisamente: falta una sesión ), GoDaddy le da a ese componente de Internet Explorer alguna redirección . Y el resultado de eso se abre en su navegador predeterminado. Esa es la URL que estás viendo.

¿Lo más probable es que su navegador predeterminado no sea Internet Explorer? Luego, pegar la URL en IE directamente y hacer clic para obtener las cookies, también podría hacer que el enlace funcione desde Excel. (Solo para pruebas; no es una solución permanente).

Tendrá más suerte usando una URL que no se base en información oculta de una cookie, como http://www.godaddy.com/domains/search.aspx?domainToCheck=superuser.com


Gran información, gracias. Veo lo mismo en Word cuando
abro

1
Esto debe marcarse como la respuesta correcta.
Selosindis

1
que "característica"
CountMurphy

Estoy descubriendo que Excel (en Windows) no sigue la redirección a su conclusión. Con un enlace de wikipedia ( wikipedia.org/wiki/Merck%20Sharp%20%26%20Dohme%20Corp ) hay tres redireccionamientos, pero Excel informa un 404. El enlace funciona bien en OSX Excel.
Technomage

10

Esto es culpa de Excel. Si pega el enlace en el correo electrónico de Outlook o WordPad y abre el enlace desde allí, funcionará correctamente.

Excel nunca debe crear una sesión oculta para verificar el hipervínculo. ¿Cuál es el punto? Solo necesita abrirlo, nada más. Usan la misma lógica en MS Word. A partir de ahí tampoco funciona. Cuando Excel intenta verificar el enlace en segundo plano, se crea una nueva sesión que no se autentica, por lo que se redirige a la página de inicio de sesión o algo así. Después de eso, en lugar de abrir la URL original en el navegador, Excel abre la URL de redireccionamiento. Realmente saben cómo complicar las cosas simples.


No es Excel el que está creando sesiones. Es el sitio web de GoDaddy que hace eso. Copiar la URL de un navegador a otro tampoco obtendrá uno de los resultados de búsqueda. El uso del libro de Excel en otra computadora también fallará. (Aparte de eso: de hecho Excel está arruinando al tratar de ser inteligente; ver las otras respuestas para más información de fondo.)
Arjan

La razón por la que esto sucede es porque los productos de Office tratan todos los enlaces de la misma manera, y no sabe si está intentando vincular a otro documento de Office o una página web. Está tratando de resolver eso.
pbarney

8

Este es un error conocido de Microsoft donde los hipervínculos se redirigen a otra página si:

  • Estás utilizando Microsoft Internet Explorer:
    • con un servidor proxy
    • mientras usa un firewall que no permite solicitudes HTTP en su red local
  • Internet Explorer no es su navegador predeterminado.
  • La ForceShellExecuteclave de registro no está presente o no está establecida en 1

Puede aplicar la solución desde aquí:

http://support.microsoft.com/kb/218153


Esta solución también resolvió un problema relacionado para mí. Al hacer clic en enlaces en PowerPoint, a veces recibía el mensaje de error "no se puede descargar la información que solicitó". La aplicación de la solución en ese enlace resolvió el problema. Tenga en cuenta que estoy usando PowerPoint 2010 en una máquina con Windows 10 con Chrome (v 60) como mi navegador predeterminado.
Paul de Barros

1

Demasiado aquí para agregar como comentario, me temo.

El enlace inicial devuelve un código de estado 302

De los estándares w3c :

El recurso solicitado reside temporalmente bajo un URI diferente. Debido a que la redirección puede ser alterada ocasionalmente, el cliente DEBE continuar usando el URI de solicitud para futuras solicitudes. Esta respuesta solo se puede almacenar en caché si se indica mediante un campo de encabezado Cache-Control o Expires.

El URI temporal DEBE ser dado por el campo Ubicación en la respuesta. A menos que el método de solicitud sea HEAD, la entidad de la respuesta DEBE contener una breve nota de hipertexto con un hipervínculo a los nuevos URI.

Si se recibe el código de estado 302 en respuesta a una solicitud que no sea GET o HEAD, el agente de usuario NO DEBE redirigir automáticamente la solicitud a menos que pueda ser confirmada por el usuario, ya que esto podría cambiar las condiciones bajo las cuales se emitió la solicitud.

  Note: RFC 1945 and RFC 2068 specify that the client is not allowed
  to change the method on the redirected request.  However, most
  existing user agent implementations treat 302 as if it were a 303
  response, performing a GET on the Location field-value regardless
  of the original request method. The status codes 303 and 307 have
  been added for servers that wish to make unambiguously clear which
  kind of reaction is expected of the client.

Entonces, como dijo @xlm, este es GoDaddy haciendo una redirección temporal.

Parece que, cuando se llama desde Excel, la redirección no siempre se cumple.


1
Hubiera agregado esto como un comentario a la respuesta de @xlm pero es demasiado grande. Me doy cuenta de que esto no es una respuesta.
Julian Knight

1

Encontré que este problema surge cuando la URL de destino es un sitio seguro que requiere un inicio de sesión. Aunque ya he iniciado sesión en una ventana diferente, no funcionará correctamente. Si corto y pego la URL en una nueva pestaña o ventana, Chrome es lo suficientemente inteligente como para descubrir que ya me he autenticado y abre la nueva página correctamente. Sin embargo, si no he iniciado sesión en el sitio, se me redirigirá a la página de inicio de sesión, como se esperaba.
Pero cuando hago clic en la misma URL exacta en Excel, con las mismas condiciones, solo obtengo la página de inicio de sesión o mi sitio remoto solo me dice que es un navegador no compatible.
El problema proviene claramente de Excel, porque si tomo esa hoja de cálculo exacta, la guardo como PDF, los hipervínculos que se muestran en el PDF funcionan perfectamente cuando se hace clic.
Además de corregir esta "característica" obviamente no intencionada de Excel / Office tratando de verificar los enlaces como otros han publicado, la única solución que encontré fue crear una página de redireccionamiento local que pudiera tomar mis parámetros únicos dentro de la URL y abrir una nueva ventana como sigue (gracias a otros por el código JavaScript) Redireccione cambiando el hipervínculo de Excel a algo como http://mylocaldomain.com/redirect.html?ID=12345 , donde la página de redireccionamiento está en un servidor local que usted controla y el parámetro 12345 hace que la URL redirija a la entrada particular necesaria. Para mi SS con aproximadamente 10000 enlaces, esto funciona bien.

Redirect.html es el siguiente.

<!DOCTYPE html>
<html>
<script>
function getUrlVars() {
    var vars = {};
    var parts = window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi,    
    function(m,key,value) {
      vars[key] = value;
    });
    return vars;
  }
    document.getElementById("demo").innerHTML=getUrlVars()["type"];
    var varbaseurl=[put your base url here]
    window.location = varbaseURL  + getUrlVars()["type"]
</script>
<body> 
redirecting to: <p id=demo></p>

1

Definitivamente es molesto. Una solución alternativa es crear un enlace a un archivo local que redirija al hipervínculo. Por ejemplo, algo como:

<HTML>
<HEAD>
<TITLE>Redirect</TITLE>
<META HTTP-EQUIV="refresh" CONTENT="0;URL=http://www.google.com">
</HEAD>
<BODY>
Redirecting...
</BODY>
</HTML>

No sé mucho sobre HTML, pero sería bueno poder pasar un argumento (es decir, la URL) a este archivo html local.


0

Puedo replicar su problema, sin embargo, no es un problema de Excel. En realidad, es Godaddy el que lo redirige al segundo enlace. Intente pegar ese enlace en su navegador y verá que redirige al segundo.

Notas: Probado en Excel 2007, Firefox 13.0.1


1
hm ... pero cuando pego el enlace en el navegador me quedo en el primer enlace ... es por eso que es extraño ... ¿cómo es capaz de detectar la diferencia entre pegar el enlace en la url o navegar desde un archivo de Excel?

No lo son, básicamente cuando su navegador intenta visitar el primer enlace, su servidor responde enviándole al segundo. No tiene nada que ver con Excel. También he verificado esto en Chrome. No puedo reproducir las circunstancias que describe donde lo ingresa en su navegador y no se redirige. ¿Qué navegador estás usando?

Estoy usando Chrome, pero veo lo que está sucediendo ahora ... la solicitud se basa en la sesión ... así que cuando abro desde otro navegador, no puedo ver el enlace ... y de alguna manera la sesión se rompe cuando accedo desde Excel archivo ..

Intenta reproducir esas circunstancias nuevamente con Chrome, estoy bastante seguro de que terminarás en el segundo enlace. Excel solo está abriendo el enlace con su navegador predeterminado. Además, si esto resuelve tu Q, ¡márquelo gracias!

1
lo siento, pero no resuelve el problema ... Excel también abre el enlace con Chrome, por eso es extraño ... cuando pego el mismo enlace en Chrome, funciona ... pero cuando hago clic en el hipervínculo no lo hace ... cuando lo abro en cromo en modo incógnito, tampoco funciona ...

0

Tuve el mismo problema, solo el sitio al que iba a incluir el procesamiento y la recuperación de la base de datos en un sello de fecha. Copiaría la url a una nueva celda. cambia la fecha haga clic en la nueva url, PERO obtenga la antigua url.

Sin embargo, si ctl hice clic en la nueva celda de url, vaya a la ventana de visualización de la celda, haga clic en mi cursor en cualquier lugar de esa ventana y luego haga clic en una celda diferente, los valores de fecha de la url cambian y al hacer clic en la url me dan los datos correctos.

Todo esto en IE.

Parece que cuando copia la url, trae consigo la información del sitio url. No estoy seguro de qué magia sucede cuando abro la celda y no la modifico, pero cambia la URL cuando coloca el puntero sobre ella. Soy un imán regular para este tipo de cosas en Excel. Probablemente por qué no confío en eso.



0

Pude investigar esto más a fondo mientras intentaba obtener un libro de Excel para vincularlo a mi propio servidor web. Me di cuenta de que hacer clic en un enlace en Excel produjo tres consultas al servidor.

  1. OBTENER CABEZA (con sesión temporal)
  2. GET (con sesión temporal)
  3. OBTENER (con sesión real)

Pero si la página vinculada estaba redirigiendo al usuario, no vi el tercer GET. En cambio, el segundo GET fue redirigido a una nueva página y la sesión permaneció temporal. Lo que significa que si la página de destino requiere autenticación, el usuario será redirigido a una página de inicio de sesión, incluso si ya está autenticado.

Esto me llevó a la idea de crear una página de destino que redirija al usuario a la página de destino si el usuario está autenticado. Y funciona. Cuando se recibe el tercer GET, el servidor se da cuenta de que el usuario está autenticado y lo redirige a la página de destino. Para usuarios no autenticados, la página de destino muestra un enlace a la página de destino. Y cuando el usuario hace clic en el enlace, se lo redirigirá a la página de inicio de sesión.


-1

Logramos reproducir el problema y nuestros hallazgos de desarrollador indican que cuando pega un enlace en Microsoft Excel, Excel antecede el enlace con una marca de orden de bytes (BOM). Cuando este enlace se carga en el navegador, no elimina la lista de materiales de la URL.

Al cargar la URL, el navegador realiza varias pruebas para verificar que la conexión es segura (https) y esto está fallando debido a la lista de materiales errónea. Esto finalmente causa el error de estado del relé, ya que ese parámetro debe enviarse a través de un canal seguro.

Puede reproducir este problema copiando la celda y pegándola directamente en firefox, eliminando así Excel de la imagen. Esto también falla (a veces de una manera ligeramente diferente) pero sufre del mismo problema raíz. Si elimina el "https" de la URL pegada y simplemente lo vuelve a escribir, notará que el enlace ahora funciona correctamente.

Esto es una limitación en el hecho de que Excel almacena la lista de materiales en la URL y la forma en que el navegador no puede interpretar la lista de materiales.

Por el momento, la única solución que se nos ocurre es copiar el enlace URL y pegarlo en el navegador y acceder a la página.

Además, personalmente le sugiero que presente un ticket de soporte con Microsoft y creo que podrían tener una mejor comprensión de este tema para ayudarlo en este asunto.


-1

Para resolver este problema en algunos sitios, simplemente creo un archivo HTML que redirige al sitio en cuestión, y luego apunto el hipervínculo en Excel a este archivo y funciona muy bien.

muestra:

<HTML>
<HEAD>
<TITLE>Redirect</TITLE>
<META HTTP-EQUIV="refresh" CONTENT="0; URL=https://citiretailservices.citibankonline.com/RSnextgen/svc/launch/index.action?siteId=PLCN_GOODYEAR&langId=en_US#signon">
</HEAD>
<BODY>
Custom Redirect by Jason...
</BODY>
</HTML>

-1

Recientemente tuve este problema donde una función de hipervínculo en Excel apuntaba a una redirección 301 en un sitio de WordPress. Actualicé el 301 para señalar un nuevo documento, pero el enlace en Excel continuó mostrando el documento anterior. Solo pude resolver esto borrando el caché de documentos en IE, aunque estoy ejecutando Excel 2016 en una máquina con Windows 10. Espero que esto ayude.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.