2011-01-05 22 views
5

Digamos que tengo una página remota a la que se accede mediante http://www.mypage.com/test.aspx. En esa página utilizo el código Request.ServerVariables ["HTTP_HOST"]. ToString(). ¿Es posible que cuando acceda a la página, el código pueda devolver una URL diferente a la que veo en la barra de direcciones, que es http://www.mypage.com/test.aspx? Cualquier ayuda sería apreciada. Gracias.¿Es posible que Request.ServerVariables ["HTTP_HOST"]. ToString() pueda devolver un host diferente de lo que veo en la barra de direcciones

+0

lo siento? ¿Cuál es la diferencia entre estos valores? –

+0

Estoy intentando depurar un sitio remoto en el que no tengo acceso al servidor. en una de las páginas está usando el código especificado arriba para tratar de abrir un archivo. Lamentablemente, cuando trata de abrir el archivo no puede encontrarlo, y me pregunto si podría deberse al código anterior. Ya revisé y el archivo está en el servidor. – Ben

+0

Cuando intento abrir un archivo en el servidor, normalmente utilizo Server.MapPath ["."] Para obtener la ruta a la carpeta actual (en el servidor). – tgolisch

Respuesta

3

Puede ver cualquier nombre que IIS haya vinculado a su instancia web. Entonces, si su servidor se llama "servidor1" y la dirección IP es 123.123.123.123 y las tres están vinculadas a su instancia de IIS, podría ver cualquiera de esos valores.

Para buscar qué nombres están enlazados, abra "Administrador de Internet Information Services (IIS)" (inicio, herramientas de administración), expanda el árbol hasta que vea sus sitios. Encuentra el que estás usando. Haga clic con el botón derecho y seleccione "Vinculaciones". Edite cada uno de los enlaces en la lista. Si todos dicen [dirección IP:] "Todos no asignados", su HTTP_HOST podría ser 1. la dirección WWW que ha configurado a través de DNS, 2. el nombre de la máquina 3. la dirección IP (es).

0

Es posible, sí. Un módulo isapi_rewrite podría modificar el valor de HTTP_HOST antes de que su propio código pueda inspeccionarlo.

+0

¿sabes si es posible que mi código pueda estar ejecutándose y tomando la URL antes de isapi_rewrite? – Ben

+0

¿Qué versión de IIS? – Amy

+0

Creo que usan IIS6 – Ben

1

tratan de utilizar:

HttpContext.Current.Request.ServerVariables["SERVER_NAME"]

espero que este será un trabajo.

0

Alguien ya ha mencionado los rewriters locales (isapi_rewrite), pero también hay algunos remotos, como un servidor ISA que publica su servidor. Es una cosa de configuración enviar encabezados de host originales (lo que el cliente ingresó) o los ingresados ​​en la configuración de publicación.

1

También estaba enfrentando el problema con HttpContext.Current.Request.ServerVariables ["HTTP_HOST"] y lo resolvió. La mejor forma de recuperar el nombre de host es "HttpContext.Current.Request.Url.Host". Resolvió mi problema.

Gracias, Raj

Cuestiones relacionadas