Всем доброго дня. Столкнулся с проблемой. На один из рабочих порталов есть ссылка формата: http://audit.optimum-frs.ru/Project/10/Photo/PhotoReport?anketaId=791933 (доступно только авторизованному пользователю) но при клике на ссылку из Excel ссылка режется до http://audit.optimum-frs.ru/Project при этом, если скопировать ссылку и вставить в строку браузера - она открывается. Из этого можно сделать вывод, чтобы проблема не в IIS, ибо прямо вставленная ссылка тоже бы обрезалась.
Также такая проблема не у всех пользователей - у некоторых работает нормально (открывается по переходу по ссылке). Но если не работает - то во всех браузерах (Internet explorer, Firefox, Opera и т.д.).
Может кто сталкивался с подобным? Есть идеи как это можно решить?
Например, вот файл. ЛП на сайте test2/test2 При первом проходе попросит авторизоваться, далее откроет страницу (там либо фото отобразятся, либо silverlight попросит установить) А вот после того, как Вы уже авторизовались повторные проходы будут сброшены на http://audit.optimum-frs.ru/Project/10/Report/Logist (во всяком случае меня так сбрасывает под этим ЛП - ссылка отличается, т.к. уровень доступа другой). но если вставите саму прямую ссылку - откроется.
Excel тут ни при чем Это ваш веб-сервер выполняет редирект при переходе по ссылке из Excel, так как какие-то заголовки запроса не передаются при этом (а при вводе ссылки в браузер - автоматически отправляются другие заголовки запроса)
Обратитесь к разработчикам сайта, - это можно решить только на их уровне Со стороны Excel никак на ситуацию не повлиять.
Как ни странно, но такой подход работает! Можете подсказать, возможно ли такой подход завернуть в виде ссылки в ячейке? Только вот код нужно получать тоже из ячейки, например соседней - чтобы слово ссылка стало кликабельным, но отрабатывалось через код.
А вот формула и не работает У меня тоже было такое предположение - пробовал, не получается. При этом не понятно почему макрос передает нормально в браузерную строку, а из ячейки гиперссылкой - никак... Все таки есть ощущение что проблема где то в кодировке, только вот найти не могу где можно ее покрутить.
Игорь верно говорит - вряд ли виноват Excel. Если бы был виноват он - резались бы все ссылки. Если бы кодировка - то ссылка бы вообще не работала, т.к. весь адрес на латинице и кодировка бы всю ссылку покорежила. Дело явно в авторизации и ответах сервера сайта при переходе.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
не понятно почему макрос передает нормально в браузерную строку, а из ячейки гиперссылкой - никак...
Во всех случаях всё нормально передается в адресную строку я же объяснял, почему так происходит... дело в том, как браузер отправляет запрос по вашей ссылке (с какими заголовками)
например, есть такой заголовок у HTTP запроса, как Referer (страница, с которой произошел вызов по этой ссылке) При щелчке по гиперссылке, браузер может ничего не подставить в заголовок Referer, а когда вы вручную ссылку вводите в строку браузера, он отправляет запрос с заголовком Referer, равным адресу последней посещенной страницы (или адресом той страницы, которая была открыта во вкладке, куда вы вставили ссылку)
Ваш чудо-сервер настроен на анализ заголовков запроса например, если он видит в запросе пустой заголовок Referer - он выполняет автоматический редирект на другую страницу (в вашем случае именно это и происходит) Если же в заголовке Referer хоть что-то указано, - то редиректа не происходит, и открывается запрошенная вами страница
Потому я вам и советовал обратиться к людям, кто настраивал вам всё это хозяйство, — чтобы они посмотрели, чего они там перемудрили, и отключили лишние проверки заголовков.
Игорь, спасибо за подробные комментарии - уже смотрят, но меня другой вопрос беспокоит (если Вы правы, что очень вероятно) - почему есть пользователи, у которых ссылка работает из Excel? Ранее работала и у меня, но перестала.
3. Excel передает полученную от сервера "правильную" ссылку в браузер - в итоге исходная страница не открывается и браузер, обрабатывая ссылку, открывает стартовую страницу после авторизации в системе (т.к. через браузер авторизация выполнена ранее).
Один из вариантов обхода - макрос, предложенный Nic70y, но мне данный вариант не подходит, т.к. отчет формируется автоматически средствами MS Reporting Service.
Все-таки нет. У меня вот ни одна ссылка не режется, даже если необходима авторизация. Если бы проблема была в Excel - это происходило бы независимо от адреса сайта для всех сайтов с авторизацией. Через WScript.Shell команда перехода передается напрямую в браузер по умолчанию и интерпретируется так же, как если бы была введена вручную. Из Excel же передается несколько иначе(Игорь все описал). Поэтому Excel виноват лишь в том, что Вы в нем создали гиперссылки.
Предположу, что то, что Вы написали выше - ответ Ваших ИТ специалистов, которые решили просто понавешать Вам лапши вместо исправления проблемы. Вот и все.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Ну как я Вам приведу пример? У меня есть сайт, там есть админка - я спокойно вхожу через ссылку в Excel - чтобы войти, надо авторизоваться. Если я уже авторизован - то вхожу туда, куда надо. Если нет - меня выкидывает на страницу авторизации. Не могу же я дать Вам пароль от своей админки....А больше мне нечего в пример привести - на планете можно и без авторизации просматривать темы...
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
The_Prist, проблему понял! Excel проверяет ссылку через Internet Explorer, а пользователи сидят через другие браузеры. И если войти в систему через IE, то в итоге ссылка начинает работать!