Collegamento ipertestuale Excel non reindirizzato correttamente (bug?)


33

Ho un problema con i collegamenti ipertestuali di Excel: faccio clic su, diciamo A1, copio il collegamento ( http://www.godaddy.com/domains/searchresults.aspx?ci=54814), faccio clic con il tasto destro sul collegamento ipertestuale e copio l'URL SAME come collegamento (se non viene rilevato e modificato automaticamente).

Quando vado a fare clic su di esso, vengo reindirizzato a http://www.godaddy.com/domains/search.aspx?ci=53972.

Se copio e incollo il collegamento direttamente nel browser, funziona correttamente (ovvero, non sono reindirizzato a un URL diverso).

Qualcuno sa cosa sta succedendo?


3
Ho riscontrato lo stesso problema con un URL che richiede l'autenticazione. Se si fa clic da un foglio di calcolo Excel su un URL che richiede l'accesso a una sessione basata su cookie, la maggior parte dei siti reindirizzerà Microsoft Discovery Agent a una pagina di accesso. A meno che il sito non sia abbastanza intelligente da reindirizzare la richiesta della pagina di accesso alla richiesta originale nel caso in cui l'utente abbia già effettuato l'accesso, si finisce per essere costretti ad accedere manualmente una volta caricata la pagina nel proprio browser reale. L'esperienza dell'utente è che tutti i collegamenti sembrano essere disconnessi.
Joe,

Risposte:


36

L'URL che stai utilizzando necessita di ulteriori informazioni da un cookie per visualizzare i risultati della ricerca anziché la pagina di ricerca. Incolla l'URL in un altro browser (o rimuovi i cookie) e otterrai gli stessi risultati.

Facendo clic su un URL in Excel sembra aprirlo nel browser predefinito. Ma questo non è proprio vero. Prima di aprirlo nel browser, Excel esegue innanzitutto Microsoft Office Protocol Discovery . Questo utilizza un componente Windows / Internet Explorer per determinare se l'URL funziona. (Non si identifica come Internet Explorer, ma come "User Agent: Microsoft Office Existence Discovery".) E se i risultati sono (in qualche modo) corretti, si aprirà il risultato di quel controllo nel browser predefinito.

Mancando i cookie (più precisamente: mancando una sessione ), GoDaddy dà al componente Internet Explorer un certo reindirizzamento . E il risultato è aperto nel browser predefinito. Questo è l'URL che stai vedendo.

Molto probabilmente il tuo browser predefinito non è Internet Explorer? Quindi incollare direttamente l'URL in IE e fare clic su di esso, per ottenere i cookie, potrebbe anche far funzionare il collegamento da Excel. (Solo per test; non è una soluzione permanente.)

Avrai più fortuna utilizzando un URL che non si basa su alcune informazioni nascoste da un cookie, come http://www.godaddy.com/domains/search.aspx?domainToCheck=superuser.com


Ottima informazione, grazie. Sto vedendo lo stesso in Word quando
apro

1
Questo dovrebbe essere contrassegnato come la risposta corretta.
Selosindis,

1
che "caratteristica"
CountMurphy il

Sto scoprendo che Excel (su Windows) non sta seguendo il reindirizzamento alla sua conclusione. Con un link wikipedia ( wikipedia.org/wiki/Merck%20Sharp%20%26%20Dohme%20Corp ) ci sono tre reindirizzamenti, ma Excel riporta un 404. Il collegamento funziona bene su Excel OSX.
technomage

10

Questo è un errore di Excel. Se si incolla il collegamento nell'e-mail di Outlook o WordPad e si apre il collegamento da lì funzionerà correttamente.

Excel non dovrebbe mai creare una sessione nascosta per verificare il collegamento ipertestuale. che senso ha. Deve solo aprirlo, nient'altro. Usano la stessa logica in MS Word. Non funziona neanche da lì. Quando Excel tenta di verificare il collegamento in background, viene creata una nuova sessione che non è autenticata, quindi viene reindirizzata alla pagina di accesso o qualcosa del genere. Successivamente, anziché aprire l'URL originale nel browser, Excel sta aprendo l'URL di reindirizzamento. Sanno davvero come complicare le cose semplici.


Non è Excel che sta creando sessioni. È il sito Web GoDaddy che lo fa. Anche la copia dell'URL da un browser a un altro NON otterrà uno dei risultati della ricerca. Anche l'utilizzo della cartella di lavoro di Excel su un altro computer fallirà. (A parte questo: in effetti Excel sta facendo un casino cercando di essere intelligente; vedi le altre risposte per maggiori informazioni di base.)
Arjan,

Il motivo per cui ciò accade è perché i prodotti Office trattano tutti i collegamenti allo stesso modo e non sa se si sta tentando di collegarsi a un altro documento Office o a una pagina Web. Sta cercando di risolverlo.
barbar

8

Si tratta di un bug Microsoft noto in cui i collegamenti ipertestuali vengono reindirizzati a un'altra pagina se:

  • Stai utilizzando Microsoft Internet Explorer:
    • con un server proxy
    • durante l'utilizzo di un firewall che non consente richieste HTTP sulla rete locale
  • Internet Explorer non è il browser predefinito.
  • La ForceShellExecutechiave di registro non è presente o non è impostata su 1

Puoi applicare la correzione da qui:

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


Questa correzione ha anche risolto un problema correlato per me. Facendo clic su collegamenti in PowerPoint, a volte ricevo il messaggio di errore "impossibile scaricare le informazioni richieste". L'applicazione della correzione a quel link ha risolto il problema. Nota che sto usando PowerPoint 2010 su un computer Windows 10 con Chrome (v 60) come browser predefinito.
Paul de Barros,

1

Troppo qui per aggiungere come commento temo.

Il collegamento iniziale restituisce un codice di stato 302

Dagli standard w3c :

La risorsa richiesta risiede temporaneamente con un URI diverso. Poiché il reindirizzamento potrebbe essere modificato in determinate occasioni, il client DOVREBBE continuare a utilizzare l'URI della richiesta per richieste future. Questa risposta è memorizzabile nella cache solo se indicata da un campo di intestazione Controllo cache o Scadenza.

L'URI temporaneo DOVREBBE essere indicato dal campo Posizione nella risposta. A meno che il metodo di richiesta non sia HEAD, l'entità della risposta DOVREBBE contenere una breve nota ipertestuale con un collegamento ipertestuale ai nuovi URI.

Se il codice di stato 302 viene ricevuto in risposta a una richiesta diversa da GET o HEAD, l'agente utente NON DEVE reindirizzare automaticamente la richiesta a meno che non possa essere confermata dall'utente, poiché ciò potrebbe modificare le condizioni alle quali la richiesta è stata emessa.

  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.

Quindi, come affermato da @xlm, GoDaddy esegue un reindirizzamento temporaneo.

Sembrerebbe che, quando chiamato da Excel, il reindirizzamento non sia sempre onorato.


1
Lo avrei aggiunto come commento alla risposta di @ xlm ma è troppo grande. Mi rendo conto che questa non è una risposta.
Julian Knight,

1

Ho riscontrato che questo problema si presenta quando l'URL di destinazione è un sito sicuro che richiede un accesso. Anche se ho già effettuato l'accesso in un'altra finestra, non funzionerà correttamente. Se taglio e incollo l'URL in una nuova scheda o finestra, Chrome è abbastanza intelligente da scoprire che ho già autenticato e apre correttamente la nuova pagina. Tuttavia, se non ho effettuato l'accesso al sito, verrò reindirizzato alla pagina di accesso, come previsto.
Ma quando faccio clic sullo stesso URL esatto in Excel, con le stesse condizioni, ottengo solo la pagina di accesso o il mio sito remoto mi dice solo che è un browser non supportato.
Il problema proviene chiaramente da Excel, perché se prendo quel foglio di calcolo esatto, lo salvo in formato PDF, i collegamenti ipertestuali visualizzati nel PDF funzionano perfettamente quando si fa clic.
Oltre a correggere questa "caratteristica" evidentemente non voluta di Excel / Office nel tentativo di verificare i collegamenti come altri hanno pubblicato, l'unica soluzione che ho trovato è stata quella di creare una pagina di reindirizzamento locale che potesse prendere i miei parametri univoci all'interno dell'URL e aprire una nuova finestra come segue (grazie ad altri per il codice JavaScript) Reindirizzare modificando il collegamento ipertestuale Excel in qualcosa come http://mylocaldomain.com/redirect.html?ID=12345 , dove la pagina di reindirizzamento si trova su un server locale che controlli e il parametro 12345 fa reindirizzare l'URL alla voce specifica necessaria. Per la mia SS con circa 10000 collegamenti funziona perfettamente.

Redirect.html è il seguente.

<!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

È decisamente fastidioso. Una soluzione alternativa consiste nel creare un collegamento a un file locale che reindirizza al collegamento ipertestuale. Ad esempio, qualcosa del tipo:

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

Non so molto sull'HTML, ma sarebbe bello poter passare un argomento (cioè l'URL) a questo file html locale.


0

Posso replicare il tuo problema, tuttavia non è un problema di Excel. In realtà è Godaddy che ti reindirizza al secondo link. Prova a incollare quel link nel tuo browser e lo vedrai reindirizzare al secondo.

Note: testato su Excel 2007, Firefox 13.0.1


1
hm .. ma quando incollo il link nel browser rimango sul primo link .. ecco perché è strano .. come fa Godaddy a rilevare la differenza tra incollare il link nell'URL o navigare da un file Excel?

Non lo sono, fondamentalmente quando il tuo browser tenta di visitare il primo link, il loro server risponde inviandoti al secondo. Non ha nulla a che fare con Excel. L'ho verificato anche su Chrome. Non riesco a riprodurre le circostanze che descrivi dove lo inserisci nel tuo browser e non reindirizza. Quale browser utilizzate?

sto usando Chrome, ma vedo cosa sta succedendo ora .. la richiesta è basata sulla sessione .. quindi quando apro da un altro browser, non riesco a vedere il link .. e in qualche modo la sessione si interrompe quando si accede da Excel file ..

Prova a riprodurre di nuovo quelle circostanze con Chrome, sono abbastanza sicuro che finirai al secondo link. Excel sta semplicemente aprendo il collegamento con il browser predefinito. Anche se questo risolve la tua Q, ti preghiamo di contrassegnarlo grazie!

1
scusate ma non risolve il problema .. Excel apre anche il collegamento con Chrome, ecco perché è strano ... quando incollo lo stesso collegamento in Chrome - funziona .. ma quando faccio clic su hyperlink non .. quando lo apro in cromo in incognito, anche non funziona ...

0

Ho avuto lo stesso problema solo il sito che stavo per includere l'elaborazione e il recupero della base di dati su un timbro data. Vorrei copiare l'URL in una nuova cella. modificare la data. fai clic sul nuovo URL, MA ottieni il vecchio URL.

Tuttavia, se ho fatto clic sulla nuova cella dell'URL, vai alla finestra di visualizzazione della cella, fai clic sul mio cursore in qualsiasi punto della finestra, quindi fai clic su una cella diversa i valori della data dell'URL cambiano e facendo clic sull'URL mi danno i dati giusti.

Tutto questo in IE.

Sembra che quando copi l'URL porti con te le informazioni sul sito dell'URL. Non sono sicuro di cosa accada la magia quando apro la cella e non la altero, ma cambia l'URL quando ci metti il ​​puntatore sopra. Sono un magnete regolare per questo tipo di cose in Excel. Probabilmente perché non mi fido.



0

Sono stato in grado di indagare ulteriormente mentre stavo cercando di ottenere una cartella di lavoro di Excel da collegare al mio server Web. Ho notato che fare clic su un collegamento in Excel ha prodotto tre query al server.

  1. OTTIENI TESTA (con sessione temporanea)
  2. OTTIENI (con sessione temporanea)
  3. OTTIENI (con sessione reale)

Ma se la pagina collegata reindirizzava l'utente non vedevo il terzo GET. Invece il secondo GET è stato reindirizzato a una nuova pagina e la sessione è rimasta temporanea. Ciò significa che se la pagina di destinazione richiede l'autenticazione l'utente verrà reindirizzato a una pagina di accesso anche se in realtà è già autenticato.

Questo mi ha portato all'idea di creare una landing page che reindirizzi l'utente alla pagina di destinazione se l'utente è autenticato. E funziona Quando viene ricevuto il terzo GET, il server nota che l'utente è autenticato e reindirizza alla pagina di destinazione. Per utenti non autenticati, la pagina di destinazione mostra un collegamento alla pagina di destinazione. E quando l'utente fa clic sul collegamento, l'utente verrà reindirizzato alla pagina di accesso.


-1

Riusciamo a riprodurre il problema e i risultati dei nostri sviluppatori indicano che quando si incolla un collegamento in Microsoft Excel, Excel sostituisce il collegamento con un segno di ordine byte (BOM). Quando questo link viene caricato nel browser, non rimuove la DBA dall'URL.

Al caricamento dell'URL, il browser esegue diversi test per verificare che la connessione sia sicura (https) e che ciò non riesca a causa della distinta base errata. Questo alla fine provoca l'errore di stato del relè, poiché quel parametro deve essere inviato su un canale sicuro.

Puoi riprodurre questo problema copiando la cella e incollandola direttamente in Firefox, eliminando così Excel dalla foto. Anche questo fallisce (a volte in modo leggermente diverso) ma soffre dello stesso problema alla radice. Se rimuovi "https" dall'URL incollato e semplicemente lo riscrivi, noterai che il collegamento ora funziona correttamente.

Questa è una limitazione nel fatto che Excel memorizza la DBA nell'URL e il modo in cui il browser non è in grado di interpretare la DBA.

Al momento l'unica soluzione che ci viene in mente è copiare il collegamento URL e incollarlo nel browser e accedere alla pagina.

Inoltre, ti suggerirei personalmente di presentare un ticket di supporto con Microsoft e credo che potrebbero avere una migliore comprensione di questo problema per aiutarti in merito.


-1

Per risolvere questo problema su alcuni siti ho solo creato un file HTML che reindirizza al sito in questione, quindi punta il collegamento ipertestuale in Excel su questo file e funziona benissimo.

campione:

<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

Di recente ho avuto questo problema in cui una funzione di collegamento ipertestuale in Excel indicava un reindirizzamento 301 in un sito WordPress. Ho aggiornato il 301 per indicare un nuovo documento, ma il collegamento in Excel ha continuato a far apparire il vecchio documento. Sono stato in grado di risolverlo solo cancellando la cache dei documenti in IE, anche se sto eseguendo Excel 2016 su un computer Windows 10. Spero che sia di aiuto.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.