URL-адрес теряет номер порта при каждой загрузке страницы

В настоящее время я забочусь об одном местном веб-сайте.

Порт по умолчанию был изменен и больше не может быть не включен в URL-адрес по техническим причинам, поэтому теперь я использую определенный порт в конце IP-адреса в URL-адресе, например

100.100.100.100/website.aspx

больше не работает (который по умолчанию имеет доступ к 80)

100.100.100.100:81/website.aspx

с портом работает.

Работает, хотя я не могу нажать ни на одну ссылку или что-то еще, и порт исчезает (новая страница не загружается). Затем я сохраняю тот же URL-адрес и просто добавляю порт в конце IP-адреса, и он снова работает, пока я не нажму другую ссылку внутри него.

У меня есть доступ к изменению каждой ссылки, но я думаю, что это неправильный подход.

Как мне действовать?

--[ИЗМЕНИТЬ]--

Все URL-адреса уже являются относительными, и вся проблема этого вопроса не применима в IE, это происходит только в других браузерах.

/веб-сайт.aspx

То, что я сказал об изменении каждой ссылки, было бы чем-то вроде

:10/website.aspx

Но я действительно не знаю..

--[ИЗМЕНИТЬ]--

Как просили:

<asp:HyperLink runat="server" Text="link" NavigateUrl="~/folder/folder/page.aspx" />

person Marcelo    schedule 16.03.2010    source источник
comment
Можете ли вы опубликовать пример тегов ссылки со страницы?   -  person Kirk Strauser    schedule 17.03.2010
comment
@Just Some Guy, как и просили, вопрос отредактирован.   -  person Marcelo    schedule 17.03.2010
comment
Рамирес Я имел в виду следующее: можете ли вы опубликовать пример тегов ссылок, которые на самом деле генерируются и отправляются клиенту? То есть фактические атрибуты href= в выходном HTML?   -  person Kirk Strauser    schedule 18.03.2010


Ответы (3)


Если вы наберете:

http://1.2.3.4/website.asp

Это эквивалентно

http://1.2.3.4:80/website.asp

Если вам нужно указать другой порт, вы должны указать его явно в URL-адресе.

Вариант 1 Если все ваши ссылки имеют вид

http://1.2.3.4/website.asp

Вам нужно изменить их на

http://1.2.3.4:10/website.asp

Вариант 2

Вариант 2 - изменить все ссылки на относительные, поэтому вместо:

http://1.2.3.4/anotherpage.asp

Вы меняете его на просто

/anotherpage.asp

Затем браузер будет использовать один и тот же IP-адрес и номер порта для каждого запроса.

Вариант 2 предпочтительнее, так как он делает сайты устойчивыми именно к этим типам перемещений.

person Paolo    schedule 16.03.2010

Попробуйте добавить привязку в IIS. (Я предполагаю, что вы используете для этого IIS)

Изменить: я предполагаю, что вы установили привязку к порту 10. Добавьте альтернативную привязку без порта (если это возможно. Если нет, добавьте привязку к порту 80). Надеюсь, это поможет.

person citronas    schedule 16.03.2010
comment
Я. не могли бы вы уточнить это? отредактируйте этот ответ или отправьте мне электронное письмо (в моем профиле) - person Marcelo; 17.03.2010
comment
Этот порт 10 создан для этого вопроса. Было 80, а сейчас 81. Привязки нет, потому что 80 стоит по умолчанию. - person Marcelo; 17.03.2010

Internet Explorer не любит адреса, первое двоеточие которых не является частью определения схемы ("http://" или "https://"). Вы начинаете свои ссылки с «http://» (или «https://»)? Если нет, это может способствовать проблемам, которые у вас есть.

person lance    schedule 16.03.2010