Excel siêu liên kết không chuyển hướng đúng (lỗi?)


33

Tôi gặp vấn đề về siêu liên kết Excel: Tôi nhấp vào, giả sử A1, sao chép liên kết trong đó ( http://www.godaddy.com/domains/searchresults.aspx?ci=54814), nhấp chuột phải vào siêu liên kết và sao chép URL CÙNG đó làm liên kết (nếu nó không được tự động phát hiện và thay đổi).

Khi tôi nhấp vào nó, tôi được chuyển hướng đến http://www.godaddy.com/domains/search.aspx?ci=53972.

Nếu tôi sao chép và dán liên kết trực tiếp vào trình duyệt, nó sẽ hoạt động tốt (nghĩa là tôi không được chuyển hướng đến một URL khác).

Có ai biết chuyện gì đang xảy ra không?


3
Tôi gặp vấn đề tương tự với một URL yêu cầu xác thực. Nếu bạn nhấp từ bảng tính Excel sang URL yêu cầu bạn phải đăng nhập vào phiên dựa trên cookie, hầu hết các trang web sẽ chuyển hướng Microsoft Discovery Agent đến trang đăng nhập. Trừ khi trang web đủ thông minh để chuyển hướng yêu cầu trang đăng nhập trở lại yêu cầu ban đầu trong trường hợp người dùng đã đăng nhập, cuối cùng bạn sẽ bị buộc phải đăng nhập thủ công sau khi trang tải trong trình duyệt thực của bạn. Trải nghiệm người dùng là tất cả các liên kết dường như được đăng xuất.
Joe

Câu trả lời:


36

URL bạn đang sử dụng cần thêm một số thông tin từ cookie để hiển thị kết quả tìm kiếm thay vì trang tìm kiếm. Dán URL vào một trình duyệt khác (hoặc xóa cookie của bạn) và bạn sẽ nhận được kết quả tương tự.

Nhấp vào một URL trong Excel dường như để mở nó trong trình duyệt mặc định của bạn. Nhưng điều đó không thực sự đúng. Trước khi mở nó trong trình duyệt của bạn, trước tiên Excel sẽ chạy Microsoft Office Protocol Discovery . Điều này sử dụng thành phần Windows / Internet Explorer để xác định xem URL có hoạt động không. (Nó không tự nhận là Internet Explorer, nhưng là "Tác nhân người dùng: Microsoft Office Existence Discovery".) Và nếu kết quả (bằng cách nào đó) ổn thì nó sẽ mở kết quả kiểm tra trong trình duyệt mặc định của bạn.

Thiếu cookie (chính xác hơn: thiếu phiên ), GoDaddy cung cấp cho thành phần Internet Explorer đó một số chuyển hướng . Và kết quả của điều đó được mở trong trình duyệt mặc định của bạn. Đó là URL bạn đang thấy.

Nhiều khả năng trình duyệt mặc định của bạn không phải là Internet Explorer? Sau đó dán URL trực tiếp vào IE và nhấp vào nó, để lấy cookie, sau đó cũng có thể làm cho liên kết hoạt động từ Excel. (Chỉ để thử nghiệm; đây không phải là giải pháp lâu dài.)

Bạn sẽ gặp nhiều may mắn hơn khi sử dụng một URL không dựa vào một số thông tin ẩn từ cookie, như http://www.godaddy.com/domains/search.aspx?domainToCheck=superuser.com


Thông tin tuyệt vời, cảm ơn bạn. Tôi cũng thấy như vậy trong Word khi mở một liên kết mà bạn phải đăng nhập.
marcvangend

1
Điều này nên được đánh dấu là câu trả lời chính xác.
Selosindis

1
thật là một "tính năng"
CountMurphy

Tôi thấy rằng excel (trên Windows) không tuân theo chuyển hướng đến kết luận của nó. Với liên kết wikipedia ( wikipedia.org/wiki/Merck%20Sharp%20%26%20Dohme%20Corp ), có ba chuyển hướng, nhưng excel báo cáo 404. Liên kết hoạt động tốt trên excel OSX.
Technomage

10

Đây là lỗi Excel. Nếu bạn dán liên kết vào email Outlook hoặc Wordman và bạn mở liên kết từ đó, nó sẽ hoạt động chính xác.

Excel không bao giờ nên tạo phiên ẩn để xác minh siêu liên kết. ý của nó là gì Nó chỉ cần mở nó, không có gì khác. Họ sử dụng logic tương tự trong MS Word. Nó cũng không hoạt động từ đó. Khi Excel cố gắng xác minh liên kết trong nền, phiên mới được tạo không được xác thực để nó được chuyển hướng đến trang đăng nhập hoặc một cái gì đó. Sau đó, thay vì mở URL gốc trong trình duyệt, Excel sẽ mở url chuyển hướng. Họ thực sự biết cách làm cho điều đơn giản trở nên phức tạp.


Không phải Excel đang tạo phiên. Đây là trang web GoDaddy thực hiện điều đó. Sao chép URL từ trình duyệt này sang trình duyệt khác cũng sẽ KHÔNG nhận được một kết quả tìm kiếm. Sử dụng sổ làm việc Excel trên một máy tính khác cũng sẽ thất bại. (Ngoài ra: thực sự Excel đang gây rối bằng cách cố gắng trở nên thông minh; xem các câu trả lời khác để biết thêm thông tin cơ bản.)
Arjan

Lý do điều này xảy ra là vì các sản phẩm Office xử lý tất cả các liên kết giống nhau và không biết bạn đang cố liên kết đến một tài liệu văn phòng khác hay một trang web. Nó đang cố gắng sắp xếp nó ra.
pbarney

8

Đây là một lỗi Microsoft đã biết trong đó các siêu liên kết được chuyển hướng đến một trang khác nếu:

  • Bạn đang sử dụng Microsoft Internet Explorer:
    • với một máy chủ proxy
    • trong khi sử dụng tường lửa không cho phép yêu cầu HTTP trên mạng cục bộ của bạn
  • Internet Explorer không phải là trình duyệt mặc định của bạn.
  • Khóa ForceShellExecuteđăng ký không có hoặc không được đặt thành 1

Bạn có thể áp dụng sửa lỗi từ đây:

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


Khắc phục sự cố này cũng giải quyết một vấn đề liên quan cho tôi. Khi nhấp vào liên kết trong PowerPoint, đôi khi tôi sẽ nhận được thông báo lỗi "không thể tải xuống thông tin bạn yêu cầu". Áp dụng các sửa chữa tại liên kết đó giải quyết vấn đề. Lưu ý rằng tôi đang sử dụng PowerPoint 2010 trên máy Windows 10 với Chrome (v 60) làm trình duyệt mặc định.
Paul de Barros

1

Quá nhiều ở đây để thêm như một nhận xét Tôi sợ.

Liên kết ban đầu trả về mã trạng thái 302

Từ các tiêu chuẩn w3c :

Tài nguyên được yêu cầu tạm thời nằm trong một URI khác. Do việc chuyển hướng có thể bị thay đổi, thỉnh thoảng, khách hàng NÊN tiếp tục sử dụng URI yêu cầu cho các yêu cầu trong tương lai. Phản hồi này chỉ có thể lưu trong bộ nhớ cache nếu được chỉ định bởi trường tiêu đề Cache-Control hoặc Hết hạn.

URI tạm thời NÊN được đưa ra bởi trường Vị trí trong phản hồi. Trừ khi phương thức yêu cầu là CHÍNH, thực thể của phản hồi NÊN chứa một ghi chú siêu văn bản ngắn có siêu liên kết đến (các) URI mới.

Nếu mã trạng thái 302 được nhận để đáp ứng yêu cầu khác với GET hoặc HEAD, tác nhân người dùng KHÔNG ĐƯỢC tự động chuyển hướng yêu cầu trừ khi người dùng có thể xác nhận, vì điều này có thể thay đổi các điều kiện theo đó yêu cầu được đưa ra.

  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.

Vì vậy, như @xlm đã nêu, đây là GoDaddy đang thực hiện chuyển hướng tạm thời.

Dường như, khi được gọi từ Excel, chuyển hướng không phải lúc nào cũng được tôn vinh.


1
Tôi đã thêm nhận xét này dưới dạng nhận xét vào câu trả lời của @ xlm nhưng nó quá lớn. Tôi nhận ra rằng đây không phải là một câu trả lời.
Julian Knight

1

Tôi thấy vấn đề này tăng lên khi URL mục tiêu là một trang web an toàn yêu cầu đăng nhập. Mặc dù tôi đã đăng nhập vào một cửa sổ khác, nhưng nó sẽ không hoạt động đúng. Nếu tôi cắt và dán URL vào tab hoặc cửa sổ mới, Chrome đủ thông minh để thấy rằng tôi đã xác thực và mở trang mới đúng cách. Tuy nhiên, nếu tôi không đăng nhập vào trang web, tôi sẽ được chuyển hướng đến trang đăng nhập, như mong đợi.
Nhưng khi nhấp vào cùng một URL chính xác trong Excel, với cùng điều kiện, tôi chỉ nhận được trang đăng nhập hoặc trang web từ xa của tôi chỉ cho tôi biết đó là một trình duyệt không được hỗ trợ.
Vấn đề rõ ràng đến từ Excel, bởi vì nếu tôi lấy bảng tính chính xác đó, hãy lưu nó dưới dạng PDF, các siêu liên kết hiển thị trong PDF hoạt động hoàn toàn tốt khi nhấp vào.
Khác với việc sửa lỗi này rõ ràng là ngoài ý muốn, tính năng của Excel / Office cố gắng xác minh các liên kết như những người khác đã đăng, cách giải quyết duy nhất mà tôi tìm thấy là tạo một trang chuyển hướng cục bộ có thể lấy các tham số duy nhất của tôi trong URL và mở một cửa sổ mới như theo sau (cảm ơn người khác về mã JavaScript) Chuyển hướng bằng cách thay đổi siêu liên kết excel thành một cái gì đó như http://mylocaldomain.com/redirect.html?ID=12345 , trong đó trang chuyển hướng nằm trên máy chủ cục bộ mà bạn kiểm soát và tham số 12345 làm cho URL chuyển hướng đến mục cụ thể cần thiết. Đối với SS của tôi với khoảng 10000 liên kết, điều này hoạt động tốt.

Redirect.html như sau.

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

Nó chắc chắn gây phiền nhiễu. Một cách giải quyết khác là tạo liên kết đến một tệp cục bộ chuyển hướng đến siêu liên kết. Ví dụ: một cái gì đó như:

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

Tôi không biết nhiều về HTML, nhưng thật tuyệt khi có thể truyền một đối số (tức là URL) cho tệp html cục bộ này.


0

Tôi có thể sao chép vấn đề của bạn tuy nhiên đó không phải là sự cố Excel. Nó thực sự là Godaddy đang chuyển hướng bạn đến liên kết thứ hai. Hãy thử dán liên kết đó vào trình duyệt của bạn và bạn sẽ thấy nó chuyển hướng đến cái thứ hai.

Ghi chú: Đã thử nghiệm trên Excel 2007, Firefox 13.0.1


1
hm .. nhưng khi tôi dán liên kết vào trình duyệt, tôi vẫn ở liên kết đầu tiên .. đó là lý do tại sao nó trở nên tồi tệ hơn .. làm thế nào để Godaddy có thể phát hiện ra sự khác biệt giữa việc dán liên kết trong url hoặc điều hướng từ tệp excel?

Về cơ bản, họ không truy cập vào liên kết đầu tiên, máy chủ của họ sẽ phản hồi bằng cách gửi cho bạn đến liên kết thứ hai. Nó không có gì để làm với Excel. Tôi cũng đã xác minh điều này trên Chrome. Tôi không thể tái tạo các trường hợp bạn mô tả nơi bạn nhập nó trên trình duyệt của bạn và nó không chuyển hướng. Bạn đang dùng trình duyệt nào?

Tôi đang sử dụng Chrome, nhưng tôi thấy những gì đang diễn ra .. yêu cầu dựa trên phiên .. vì vậy khi tôi mở từ một trình duyệt khác, tôi không thể thấy liên kết .. và bằng cách nào đó, phiên bị hỏng khi truy cập từ teh excel tập tin ..

Hãy thử tái tạo những trường hợp đó một lần nữa với Chrome, tôi khá chắc chắn rằng bạn sẽ kết thúc ở liên kết thứ hai. Excel chỉ mở liên kết với trình duyệt mặc định của bạn. Ngoài ra nếu điều này giải quyết Q của bạn xin vui lòng đánh dấu cảm ơn!

1
xin lỗi nhưng nó không giải quyết được vấn đề .. excel cũng mở liên kết với chrome, đó là lý do tại sao nó trở nên tồi tệ hơn .. khi tôi dán cùng một liên kết đó vào chrome - nó hoạt động .. nhưng khi tôi nhấp vào siêu liên kết thì nó không .. . Khi tôi mở nó bằng chrome trong ẩn danh, nó cũng không hoạt động ...

0

Tôi gặp vấn đề tương tự chỉ có trang web tôi sẽ đưa vào xử lý và truy xuất cơ sở dữ liệu trên tem ngày. Tôi sẽ sao chép url vào một ô mới. thay đổi ngày nhấp vào url mới, NHƯNG nhận được url cũ.

Tuy nhiên, nếu tôi nhấp vào ô url mới, đi đến cửa sổ hiển thị ô, nhấp vào con trỏ của tôi ở bất kỳ đâu trong cửa sổ đó, sau đó nhấp vào một ô khác, giá trị ngày url thay đổi và nhấp vào url sẽ nhận được dữ liệu đúng.

Tất cả điều này trong IE.

Có vẻ như khi bạn sao chép url, nó sẽ mang thông tin trang web url cùng với nó. Không chắc phép thuật nào xảy ra khi tôi mở ô và không thay đổi nó, nhưng nó sẽ thay đổi url khi bạn đặt con trỏ lên trên nó. Tôi là một nam châm thông thường cho loại công cụ này trong Excel. Có lẽ tại sao tôi không tin tưởng nó.



0

Tôi đã có thể điều tra thêm về vấn đề này khi tôi đang cố gắng lấy một sổ làm việc Excel để liên kết với máy chủ web của riêng tôi. Tôi nhận thấy rằng việc nhấp vào một liên kết trong Excel đã tạo ra ba truy vấn đến máy chủ.

  1. NHẬN ĐẦU (với phiên tạm thời)
  2. NHẬN (với phiên tạm thời)
  3. NHẬN (với phiên thực)

Nhưng nếu trang được liên kết đang chuyển hướng người dùng thì tôi đã không thấy GET thứ ba. Thay vào đó, GET thứ hai được chuyển hướng đến một trang mới và phiên vẫn tạm thời. Điều đó có nghĩa là nếu trang đích yêu cầu xác thực, người dùng sẽ được chuyển hướng đến trang đăng nhập ngay cả khi anh ta thực sự đã được xác thực.

Điều này dẫn tôi đến một ý tưởng để tạo một trang đích chuyển hướng người dùng đến trang đích nếu người dùng được xác thực. Và nó hoạt động. Khi nhận được GET thứ ba, máy chủ thông báo rằng người dùng được xác thực và chuyển hướng đến trang đích. Đối với người dùng không được xác thực, trang đích hiển thị một liên kết đến trang đích. Và khi người dùng nhấp vào liên kết, người dùng sẽ được chuyển hướng để đăng nhập trang.


-1

Chúng tôi quản lý để tái tạo vấn đề và kết quả nhà phát triển của chúng tôi cho biết khi bạn dán liên kết vào Microsoft Excel, Excel sẽ mở đầu liên kết bằng dấu thứ tự byte (BOM). Khi liên kết này được tải trong trình duyệt, nó không xóa BOM khỏi URL.

Khi tải URL, trình duyệt thực hiện một số kiểm tra xác minh rằng kết nối là an toàn (https) và điều này không thành công do BOM sai lầm. Điều này cuối cùng gây ra lỗi trạng thái chuyển tiếp, vì tham số đó phải được gửi qua kênh an toàn.

Bạn có thể tái tạo vấn đề này bằng cách sao chép ô và dán trực tiếp vào firefox, từ đó lấy Excel ra khỏi hình ảnh. Điều này cũng thất bại (đôi khi theo một cách hơi khác) nhưng bị vấn đề gốc tương tự. Nếu bạn xóa "https" khỏi URL đã dán và chỉ cần nhập lại, bạn sẽ thấy rằng liên kết hiện hoạt động chính xác.

Đây là một hạn chế trong thực tế là Excel lưu trữ BOM trong URL và cách trình duyệt không thể hiểu BOM.

Tại thời điểm này, cách giải quyết duy nhất mà chúng tôi có thể nghĩ đến là sao chép liên kết URL và dán nó vào trình duyệt và truy cập trang.

Ngoài ra, cá nhân tôi sẽ đề nghị bạn tăng một vé hỗ trợ với Microsoft và tôi tin rằng họ có thể hiểu rõ hơn về vấn đề này để giúp bạn về vấn đề này.


-1

Để giải quyết vấn đề này trên một số trang web, tôi chỉ cần tạo một tệp HTML chuyển hướng đến trang web đang đề cập, sau đó trỏ siêu liên kết trong Excel vào tệp này và nó hoạt động rất tốt ..

mẫu vật:

<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

Gần đây tôi đã gặp vấn đề này khi một hàm siêu liên kết trong Excel đã chỉ ra một chuyển hướng 301 trong một trang web WordPress. Tôi đã cập nhật 301 để trỏ đến một tài liệu mới nhưng liên kết trong Excel tiếp tục hiển thị tài liệu cũ. Tôi chỉ có thể giải quyết vấn đề này bằng cách xóa bộ đệm tài liệu trong IE, mặc dù tôi đang chạy Excel 2016 trên máy Windows 10. Hi vọng điêu nay co ich.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.