2013-07-15 4 views
0

У меня есть URL (HTTP), который перенаправляется.IE усекающий URL?

Это конец URL с paramters:

/c.html?ufl=c&rtr=on&s=x9w5pl,33gz,2cw,75vq,lelf,gwtv,jxou&RESNET_CODE=FIE&OFFERCODE=H38FR10 

Когда я использую хром, чтобы получить этот URL, оригинальный URL перенаправляется на URL-адрес (HTTPS), который заканчивается так:

/cgi-bin/LANSAWEB?procfun+rn+Resnet+FIE+funcparms+UP(A2560):;H38FR10;?/# 

Однако, когда я использую IE (я тестирую с версии 8)), это как-то падает последний параметр и URL (HTTPS) выглядит следующим образом:

/cgi-bin/LANSAWEB?procfun+rn+Resnet+FIE+funcparms+UP(A2560): 

я использовал скрипача, чтобы определить, что и Chrome и IE отправляете один и тот же запрос Get (как показано выше):

/c.html?ufl=c&rtr=on&s=x9w5pl,33gz,2cw,75vq,lelf,gwtv,jxou&RESNET_CODE=FIE&OFFERCODE=H38FR10 

Почему в мире последний параметр ;H38FR10;?/# усекается, когда я использую IE ???

Я бы добавил, что если я возьму URL-адрес, на который перешел хром, и поместил его в IE, он работает!

+0

Возможный дубликат [Мета обновления с точкой с запятой] (http://stackoverflow.com/questions/5124170/meta-refresh-with-semicolon) – EricLaw

ответ

0

Ваша разметка была:

<html><head> 
<meta http-equiv="refresh" content="0; URL=https://HOSTNAMEHERE/cgi-bin/LANSAWEB?procfun+rn+Resnet+FIE+funcparms+UP(A2560):;H38FR10;?/#"> 
</head></html> 

Проблема здесь состоит в том, что значения КОНТЕНТ мета тега разделяются точкой с запятой.

Если изменить разметку, чтобы обернуть URL в одинарных кавычках, он работает в IE:

<meta http-equiv="refresh" content="0; URL='https://HOSTNAMEHERE/cgi-bin/LANSAWEB?procfun+rn+Resnet+FIE+funcparms+UP(A2560):;H38FR10;?/#'"> 

Есть веские причины не использовать метаобновление (как я обсуждаю here). Если вы не можете использовать перенаправление HTTP/301 или HTTP/302, вам следует использовать блок SCRIPT для перехода к URL-адресу, если сценарий включен, и перемещение META в блок NOSCRIPT.

Этот вопрос представляется дубликату: Meta refresh with semicolon и предлагает обходной путь.

+0

Хорошо, я отправил файл. Благодаря! – richard

+0

Просто добавил комментарий ... если я возьму URL-адрес, на который перешел хром, и поместил его в IE, он работает! – richard

0

Двойник является специальным символом в URL-адресе, поэтому вам следует избегать его, т.е. преобразовать его в строку с кодировкой URL-адреса %3A.

Теоретически не должно быть проблем с двоеточием в этой части URL-адреса, но для IE8 не было бы сюрпризом иметь проблему.

+0

Ну ... проблема в том, что если я возьму URL-адрес, на который перешел хром, и поместил его в IE, он работает! – richard

+0

Ну, старые версии IE ничего, если не противоречат друг другу. Вы пробовали его с кодировкой URL? Это имело значение? – Spudley

Смежные вопросы