Опубликовал этот вопрос вчера, но это немного запутало, поэтому я удалил и отправил снова!
Ну, я называю (например) сервер с этой ссылкой (я называю это "исходный URL"):
http://example.com/page/?IDL=1&IDH=90
Теперь на этом сервере я выполняю своего рода переписывание URL, изменяя запрошенный URL в:
http://example.com/myhandler404/page:PORT/?ID=34&IDL=1&IDH=90
и затем, через HttpContext.Current.Server.Execute(), я называю этот новый URL.
HttpContext.Current.Server.Execute()
Теперь, возможно ли (я http://example.com/myhandler404/page:PORT/?ID=34&IDL=1&IDH=90) получить "исходный URL" запроса? Без разбора / замены, возможно доступ к некоторым свойствам объекта Execute?
Пробовал с Request.UrlReferrer, но я получаю нулевой объект?!?!?
Request.UrlReferrer
Попробуйте использовать Server.Transfer вместо Execute вместе с свойствами .
Server.Transfer
Execute
Или присоедините исходный URL к QueryString
http://www.myserver.it/myhandler404/page:PORT/?ID=34&IDL=1&IDH=90&OriginalUrl=http://www.myserver.it/page/?IDL=1&IDH=90
И прочитайте это, как вы делаете для ID, IDL и IDH.
Используйте RawUrl. Это всегда без изменений, пока один или несколько Server.Transfer (s):
System.Web.HttpContext.Current.Request.RawUrl