Foros del Web » Programando para Internet » ASP Clásico »

Ruta relativa no va una vez instalado en server

Estas en el tema de Ruta relativa no va una vez instalado en server en el foro de ASP Clásico en Foros del Web. Hola a todos, A ver quien me puede aclarar esta duda... He estado desarollando una aplicacion asp, bajo Windows XP. Pasado un tiempo he querido ...
  #1 (permalink)  
Antiguo 11/04/2005, 09:08
Avatar de moNTeZIon  
Fecha de Ingreso: enero-2005
Ubicación: Lliçà de Munt - BCN
Mensajes: 1.625
Antigüedad: 19 años, 5 meses
Puntos: 9
Ruta relativa no va una vez instalado en server

Hola a todos,
A ver quien me puede aclarar esta duda...
He estado desarollando una aplicacion asp, bajo Windows XP. Pasado un tiempo he querido meterla en un Server 2003 y me da toda una serie de errores referentes a las rutas que utilizo con los comandos "Server.MapPath" y "#include file...":

---------------------------------------------------------
---------------------------------------------------------
Server.MapPath() error 'ASP 0175 : 80004005'

Caracteres de ruta de acceso no permitidos

/montezion10/Cabecera.asp, línea 1

Los caracteres '..' no están permitidos en el parámetro Path para el método MapPath.
----------------------------------------------------------
----------------------------------------------------------
Páginas Active Server error 'ASP 0131'

Ruta de directorio primario no autorizada

/montezion10/AlbumsFotos/default.asp, línea 54

El archivo de inclusión "../Codigos_META.asp" no puede utilizar ".." para indicar el directorio primario.
---------------------------------------------------------

Por qué todo funciona correctamente bajo distintas copias de WindowsXP y luego, las mismas instrucciones dan error bajo Windows 2003??

Siempre he utilizado cosas como --> Server.MapPath("../DB/xxx.mdb")

Es incorrecto utilizar los dos puntos (..) con las instrucciones MapPath o Include file?? Entonces porqué compila bien en otros sistemas operativos?

Que puedo hacer?? Que otra forma tendría, sino, de acceder a rutas por encima de la actual??

Gracias a todos.
  #2 (permalink)  
Antiguo 11/04/2005, 09:11
Avatar de sjam7  
Fecha de Ingreso: diciembre-2001
Ubicación: Guadalajara, Mexico
Mensajes: 3.672
Antigüedad: 22 años, 5 meses
Puntos: 16
en algunos servidores no permiten el uso de ".." deberas usar el directorio virtual, checa en el buscador, varios me ayudaron con el mismo problema hace poco
  #3 (permalink)  
Antiguo 11/04/2005, 09:18
Avatar de moNTeZIon  
Fecha de Ingreso: enero-2005
Ubicación: Lliçà de Munt - BCN
Mensajes: 1.625
Antigüedad: 19 años, 5 meses
Puntos: 9
ok

¿Seria mucho pedir las palabras clave para encontrar el mensaje que me comentas? o alguna referencia...

Gracias de antemano.
  #4 (permalink)  
Antiguo 11/04/2005, 10:24
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 3 meses
Puntos: 535
Cita:
Iniciado por moNTeZIon
¿Seria mucho pedir las palabras clave para encontrar el mensaje que me comentas? o alguna referencia...

Gracias de antemano.

- Ir al Buscardor de FdW (el avanzado)
- Seleccionar sólo el foro ASP
- en nombre de usuario, colocar sjam7 (temas iniciados por él¿/lla?)
- finalmente, buscar "rutas primarias" (o similar.. peude estar en inglés también.. dale vueltas a éste último punto si no hay resultados)
__________________
...___...
  #5 (permalink)  
Antiguo 11/04/2005, 10:42
Avatar de Neuron_376  
Fecha de Ingreso: abril-2005
Mensajes: 1.051
Antigüedad: 19 años, 2 meses
Puntos: 2
Sonrisa Comentario

En programacion has muchas formas de hacer las cosas, sin embargo cuando llegas a un caso como el tuyo, te das cuenta que siempre hay una forma correcta de hacer las cosas, y por supuesto la mejor...

Lo que estas haciendo, cosas como:

Server.MapPath("../DB/xxx.mdb") = MUY MAL

Server.MapPath = El camino en forma absoluta hasta tu archivo o directorio, su utilidad es que de forma dinamica, en cualquier situacion tendras la ruta absoluta hacia tu archivo o directorio, entonces no tiene ningun caso el "..", porque, porque son dos conceptos diferentes lo que estas manejando:

1. RUTA ABSOLUTA
2. RUTA que depende del directorio en el que estoy.

Es una contradiccion en una sola linea.

Lo que estas haciendo es que desde X directorio quieres jalar el camino absoluto hacia otro directorio, bien, lo que debes hacer es esto:

1. Server.MapPath("/") = Tu directorio absoluto local.

2. strPath = Server.MapPath("/") & "\DB"

Aqui utilizas solamente un criterio... "RUTA ABSOLUTA HACIA MI DIRECTORIO DE BASES DE DATOS"

Eso te evitara problemas futuros, o bien, algo mas facil y practico, declara una libreria ASP, donde tengas estos valores como constantes, algo como:

const strDBPath = "c:\InetPub\wwwroot\db\"

Luego incluyes esta libreria donde la necesites solamente y usas lo siguiente:

strDBPath & "xxx.mdb"

Estos metodos te aseguran total compatibilidad en los servidores, tambien te evitan problemas respecto al root de tus archivos si estas en un hosting rentado, etc...

Ahi te dejo el dato, al momento de programar no se trata solo de que algo funcione bien, sino que funcione en todos los casos, y ademas, que seamos coherentes con lo que estamos escribiendo.

Suerte!!

NOTA:

Cuando haces un include hazlo asi

<!--#include virtual="/directorio/archivo.asp"-->

Es la forma mas segura, poner la primera diagonal te dira que es el directorio raiz, de ahi comienzas el camino hasta tu archivo que deseas incluir, no importa si estas en un subdirectorio, de todas formas hazlo de esa forma.

CRITERIO = "CAMINO A PARTIR DEL RAIZ PARA INCLUIR MIS ARCHIVOS"

Última edición por Neuron_376; 11/04/2005 a las 10:46
  #6 (permalink)  
Antiguo 11/04/2005, 11:05
Avatar de sjam7  
Fecha de Ingreso: diciembre-2001
Ubicación: Guadalajara, Mexico
Mensajes: 3.672
Antigüedad: 22 años, 5 meses
Puntos: 16
cual seria la forma de irme al verdadero raiz de un hosting rentado? es decir algo asi:

c:\InetPub\wwwroot\mihosting\db\ (por ejemplo)

y mi directorio raiz para publicar es
c:\InetPub\wwwroot\mihosting\www\

Como seria si estoy en el raiz de www o en un subdirectorio dentro de el como www/subpagina/jam

?????
  #7 (permalink)  
Antiguo 11/04/2005, 11:17
Avatar de Neuron_376  
Fecha de Ingreso: abril-2005
Mensajes: 1.051
Antigüedad: 19 años, 2 meses
Puntos: 2
hummm

---------------------------

Escrito por: sjam7

cual seria la forma de irme al verdadero raiz de un hosting rentado? es decir algo asi:

c:\InetPub\wwwroot\mihosting\db\ (por ejemplo)

y mi directorio raiz para publicar es
c:\InetPub\wwwroot\mihosting\www\

Como seria si estoy en el raiz de www o en un subdirectorio dentro de el como www/subpagina/jam

?????

---------------------------

Es una trampa mental ???? No gracias, no se, debes investigarlo tu mismo...

Cada hosting o servicio es diferente, pero creeme, tengo mi servidor local en mi casa funcionando y mi servidor rentado y ambos me funcionan bien con el mismo SCRIPT, no es algo imposible, solo hay que considerar todos los puntos al momento de programar.

Disculpen si los ofendi con este comentario, es serio, pero creo que estamos aqui para eso, para aprender cosas nuevas, no estariamos aqui gastando nuestro tiempo si no fuera de esa manera.

Y bueno, creo que es mas valioso para cualquiera poner esta clase de comentarios, que escribir todo el codigo completo para que la otra persona solo haga un COPY-PASTE, y luego sin mas, decir ... el codigo que me pasaste esta mal, por favor arreglalo y mandamelo, upsssss, yo creo que eso es mas ofensivo que un comentario de este tipo.

Cuando yo pregunto algo en el foro... no quiero el codigo entero, yo programare mi codigo pensando en todos los detalles que necesito cubrir, pero si quiero que me orienten si algo estoy haciendo mal para corregirlo.

Bueno, esa es mi observacion.

Por cierto, no se como postear un archivo, o algo que escribio otra persona, me gustaria saber, si alquien me dice se lo agradecere.
  #8 (permalink)  
Antiguo 11/04/2005, 11:18
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 3 meses
Puntos: 535
Creo que en ese caso no queda otra que usar la ruta absoluta (metiéndola en una cosntante como como Neuron_376 comenta) sin hacer uso de server.mappath.

no, sé.. no sé.. me parece queno hay otra... habría que ver qué devuelve Request.ServerVariables("Aplication_physicalpath") (o algo así, no recuerdo cómo se escribe ;)
__________________
...___...
  #9 (permalink)  
Antiguo 11/04/2005, 11:37
 
Fecha de Ingreso: junio-2004
Mensajes: 67
Antigüedad: 20 años
Puntos: 0
Efectivamente una de las opciones de seguridad que tiene habilitada por defecto el Windows 2003 Server con IIS 6.0 es la de no poder utilizar rutas relativas.
Pero TIENE SOLUCION.
En las propiedades del servidor en una de las pestañas de seguridad existe una casilla de verificación para la utilización o no de rutas relativas.

En windows 2000 y windows xp tambien existe pero por defecto está que si.
En cambio en windows 2003 está marcada para no.

Espero te sirva.
__________________
:pirata: Gibi Velazquez

www.joiesmc.com
  #10 (permalink)  
Antiguo 09/02/2009, 04:43
Avatar de moNTeZIon  
Fecha de Ingreso: enero-2005
Ubicación: Lliçà de Munt - BCN
Mensajes: 1.625
Antigüedad: 19 años, 5 meses
Puntos: 9
Respuesta: Ruta relativa no va una vez instalado en server

Hola gibi!
¿Se puede saber donde está esa opción que comentas?
¿Que son las propiedades del servidor? --> ¿Las propiedades del sitio web?
En tal caso, como "pestañas de seguridad", supongo que te refieres a la pestaña "Seguridad de Directorios" , pero por ahí no aparece ninguna casilla de verificación para la utilización o no de rutas relativas...
¿Podrías indicar cómo encontrar ese punto, de forma más detallada?
Muchas gracias!
__________________
..:: moNTeZIon ::..
  #11 (permalink)  
Antiguo 09/02/2009, 04:49
Avatar de moNTeZIon  
Fecha de Ingreso: enero-2005
Ubicación: Lliçà de Munt - BCN
Mensajes: 1.625
Antigüedad: 19 años, 5 meses
Puntos: 9
Respuesta: Ruta relativa no va una vez instalado en server

Vaya, la encontré!
La casilla de verificación se llama "Habilitar rutas de acceso primarias".
Para encontrarla, así:
Botón derecho en el sitio Web > Propiedades > Pestaña Directorio particular > Botón Configuración > Pestaña Opciones
Un saludo.
__________________
..:: moNTeZIon ::..
  #12 (permalink)  
Antiguo 09/02/2009, 05:23
Avatar de Muzztein  
Fecha de Ingreso: agosto-2002
Ubicación: Hangar 18
Mensajes: 1.703
Antigüedad: 21 años, 9 meses
Puntos: 16
Respuesta: Ruta relativa no va una vez instalado en server

  #13 (permalink)  
Antiguo 09/02/2009, 12:51
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 3 meses
Puntos: 535
Respuesta: Ruta relativa no va una vez instalado en server

Re-WoW!
__________________
...___...
  #14 (permalink)  
Antiguo 09/02/2009, 12:58
Avatar de Muzztein  
Fecha de Ingreso: agosto-2002
Ubicación: Hangar 18
Mensajes: 1.703
Antigüedad: 21 años, 9 meses
Puntos: 16
Respuesta: Ruta relativa no va una vez instalado en server

al parecer a montezion lo abdujieron los marcianos un par de años y ni se entero!
  #15 (permalink)  
Antiguo 09/02/2009, 13:11
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 4 meses
Puntos: 146
Respuesta: Ruta relativa no va una vez instalado en server

Oye, si a alguien le puede servir la respuesta dada a una duda 3 años despues no cabe duda que hay que revalorar los paradigmas de un tema muerto

No manches moNTeZIon ... ahora si que como dijo condorito: plop!
  #16 (permalink)  
Antiguo 10/02/2009, 12:06
Avatar de moNTeZIon  
Fecha de Ingreso: enero-2005
Ubicación: Lliçà de Munt - BCN
Mensajes: 1.625
Antigüedad: 19 años, 5 meses
Puntos: 9
Respuesta: Ruta relativa no va una vez instalado en server

mmm... Como?
A alguien le sorprende que un post de hace 3 años sirva de ayuda hoy en día?
Bueno, es que tampoco es a "alguien", algunos de ustedes son gente importante del foro. Pues disculpad amigos, pero no comparto vuestra opinión.
Mirad! A mi me ocurrió! Me ayudó un post de hace 3 años!!!
De hecho, soy capaz de revivirlo como habeis visto.
Y de hecho también, soy capaz de aclarar la respuesta final, si no la considero oportuna, o la veo incompleta, para ayudar a alguien que se encuentre con esto dentro de ¿2 años más?
Así, quizá no le haga falta tener que indagar más, y rápidamente dará con la solución.
La verdad, no consigo entender que para vosotros sea más importante lo de tema muerto, que el hecho de que 3 años más tarde, alguien amplíe la solución de un post...
De hecho, a alguien le suena aquello de: ¿Has buscado en el foro antes de preguntar?
Pues a mi mucho, de hecho lo intento aplicar siempre. Por eso acabo yendo a parar a estos posts, quizá. No veo correcto iniciar un nuevo tema, si se está tratando en otro hilo, el mismo tema exactamente. Prefiero ampliar el hilo existente.
¿Vosotros no? Mira, cada día se aprenden cosas... Y veo que igual aprendo alguna más con esto de hoy... Quedo a la expectativa...
Por último, decir que si fuera por mi le hubiera re-hecho la web a esta mujer, pero la señora quería sólo arreglar una cosita de su web, y no re-hacerla por completo, así que lo más lógico, es que acabe consultando temas del foro más antiguos, de la época del ASP tradicional, que es como está programada esa web. Y aquí llegué.
Un saludo majetes.
__________________
..:: moNTeZIon ::..
  #17 (permalink)  
Antiguo 10/02/2009, 14:17
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 4 meses
Puntos: 146
Respuesta: Ruta relativa no va una vez instalado en server

Lo que llama la atención no es es que a alguien le sirva un post de hace 4 años, lo que sorprende es que a la persona que abrió el post hace tres o cuatro años (o sea tu) aún no hubiera contestado el último consejo recibido, y cuando lo haces lo haces para pedirle más información ¡como si lo hubieran escrito ayer!.

Vamos que si te encontraras un tema como este hasta para ti, si no fueras tu el usuario implicado, debería ser extraño.

Lo de los temas muertos, y permitiéndome este OT breve, es un poco más complicado de lo que crees ....

Primero por que normalmente la gente que revive temas muertos no es el usuario que los creo, sino otros usuarios que preguntan algo similar ..., o un usuario que "amplia" la solución con algo que ya se dijo o con algo nuevo pero con el velado objetivo de sumar mensajes para llegar a los 30. Quizá en eso no has reparado, por eso se cierran a criterio del moderador.
  #18 (permalink)  
Antiguo 10/02/2009, 16:58
Avatar de moNTeZIon  
Fecha de Ingreso: enero-2005
Ubicación: Lliçà de Munt - BCN
Mensajes: 1.625
Antigüedad: 19 años, 5 meses
Puntos: 9
Respuesta: Ruta relativa no va una vez instalado en server

Visto así, tienes toda la razón.
Gracias por la explicación, Myakire.
Repasando el hilo, no te sabría decir si en su día lo resolví con la propuesta de Al Zuwaga, o quizá creando una constante con la ruta absoluta.
Pero ni me imaginaba que pudiera modificar esa propiedad desde el IIS, de forma tan sencilla, y realmente fue lo que me empujó a preguntar sobre la solución de gibi.
En fin, pido perdón, por la parte que me toca
__________________
..:: moNTeZIon ::..
  #19 (permalink)  
Antiguo 10/02/2009, 17:27
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 3 meses
Puntos: 535
Respuesta: Ruta relativa no va una vez instalado en server

moNTeZIon, nada de qué pedir perdón
__________________
...___...
  #20 (permalink)  
Antiguo 10/02/2009, 20:05
Avatar de Shiryu_Libra
Colaborador
 
Fecha de Ingreso: febrero-2007
Ubicación: Cantando "Screenager" en "Kirafa Kaput"
Mensajes: 3.614
Antigüedad: 17 años, 3 meses
Puntos: 88
Respuesta: Ruta relativa no va una vez instalado en server

Favor de no revivir temas antiguos

vaya con ustedes ehhh
__________________
"Eres parte del problema, parte de la solucion o parte del paisaje"
Un Saludo desde Desierto de Altar, Sonora, MX.
Shiryu_libra
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:05.