duda con las rutas

22/06/2005 - 00:02 por TR | Informe spam
hola,

tengo una aplicacion web asp en mi equipo local. en el global.asa hay
una linea que pone:

Application("ruta_servidor")="/"

por lo tanto.. en todas las páginas asp de todas las carpetas superiores
hay lineas como la siguiente, por ejemplo:

<LINK href="<%=Application("ruta_servidor")%>code/menu_principal.css"
type=text/css rel=Stylesheet>

es decir, independientemente de la carpeta donde nos encontremos siempre
será: /code/menu_principal.css

y claro, la hoja de estilo no se ejecuta, y asi con las imagenes.. etc etc

en el explorador pongo http://localhost:8001/proyectoweb sale
perfectamente la página principal que es donde se encuentra el
global.asa.. pero si ejecuto la página que se encuentra en una carpeta
superior ya no encuentra la ruta anterior por ejemplo.

he probado a poner también http://proyectoweb.localhost:8001 y ni se
carga la web principal.

alguien sabe lo que puede pasar?... me pueden ayudar?

un cordial saludo y gracias,

Preguntas similare

Leer las respuestas

#6 TR
22/06/2005 - 23:40 | Informe spam
si... debe apuntar a images.. lo lógico sería "../images/foto.gif"

pero tiene "/images/foto.gif"

saludos,

Manuel Vera escribió:
El index.asp dentro de "/proyectos/pasarelas" debe apuntar a la carpeta
"\proyecto\images" ??
El decir, las imagenes?

MV


Respuesta Responder a este mensaje
#7 TR
22/06/2005 - 23:45 | Informe spam
Si.. tienes razón en esto:

Por ejemplo, si estas en [c] y Application("ruta_servidor")="" entonces:
<LINK href="<%=Application("ruta_servidor")%>code/menu_principal.css"
type=text/css rel=Stylesheet>
sería
<LINK href="code/menu_principal.css"
type=text/css rel=Stylesheet>



pero por ejemplo en la carpeta superior "pasarela" hay un index.asp, que
hace referencia a "code/menu_principal.css" y como "code" esta en una
carpeta anterior seria "../code/menu_principal.css"... pero no, el
codigo es "/code/menu_principal.css"

y lo que quiero es que se pueda ejecutar el css con la ultima ruta.

lo que dices de...

Application("ruta_servidor")="/"

ya he quitado la "/" y funciona, pero solo funciona la index.asp principal.

en el resto de index.asp de las carpeta superiores tiene
"/code/menu_principal.css" , ese codigo está igual en una carpeta
superior como en la cuarta carpeta sueperior, es decir, no hace
"../../../../../code/menu_principal.css", siempre es
"/code/menu_principal.css"

saludos y gracias de nuevo.


Manuel Vera escribió:
Ok... a ver entonces... según entiendo tu estructura es algo como

c:\inetpub
..\wwwroot [a]
..\..\code [b]
..\..\images
..\..\proyectoweb [c]
..\..\..\code [d]
..\..\..\images

donde cada "..\" representa al nivel superior anterior.

Según creo, puedes colocar un global.asa por aplicación web. Entonces puedes
colocar un global.asa en [a] y otro en [c]. El primero sería como lo tienes
actualmente:
Application("ruta_servidor")="/"

y el segundo sería
Application("ruta_servidor")="/proyectoweb/"

Otra opción es que le quites la barra. Así: Application("ruta_servidor")=""
La explicación es que cuando tiene la barra delante busca en la raíz, o sea,
en wwwroot.
Si le quitas la barra busca a partir del directorio donde estas hacia
adentro o abajo.
Por ejemplo, si estas en [c] y Application("ruta_servidor")="" entonces:
<LINK href="<%=Application("ruta_servidor")%>code/menu_principal.css"
type=text/css rel=Stylesheet>
sería
<LINK href="code/menu_principal.css"
type=text/css rel=Stylesheet>
y de esta manera busca la carpeta "code" [d] dentro de la carpeta
proyectoweb [c]

Salu2
MV




"TR" wrote in message news:

Hola Manuel,

dices que [b] tiene que estar dentro de [a].. pero tengo otras carpetas
que se llaman igual y se encuentran en [a] y se sobreescribirian. y yo
no quiero eso.

no hay otra solución?

un cordial saludo y gracias,


Manuel Vera escribió:

Hola

Tu ruta raíz siempre es, si accedes localmente:
http://localhost o http://127.0.0.1
o, si accedes desde otro equipo en tu red:
http://tu_dir_IP o http://nombre_de_red_de_tu_pc

[a] Ahora bien, todas esas URL apuntan a una carpeta en tu disco duro.





En mi

instalación usando Personal Web Server es:
c:\inetpub\wwwroot
Esa es mi carpeta raíz de mis proyectos web.

[b] Adicionalmente, yo puedo ir creando otras carpetas para organizar mi
aplicación web. Como ejemplo, dentro de wwwroot, puedo tener:
\code
\cgi-bin
\images

[c] Aqui, puedo tener sub-aplicaciones dentro de wwwroot, como por





ejemplo:

\proyectoweb
\otroproyecto

Sin embargo, si la estructura en el punto [b] la tienes creada es dentro





de

[c] no vas a poder referenciar y es precisamente el problema que tienes.
Para que te funcione el codigo que estas usando, [b] tiene que estar





dentro

de [a].

Otra opción que tienes es declarar "alias de directorio" o "directorios
virtuales" a CODE, IMAGES, etc.

Salu2
MV


"TR" wrote in message news:


hola,

tengo una aplicacion web asp en mi equipo local. en el global.asa hay
una linea que pone:

Application("ruta_servidor")="/"

por lo tanto.. en todas las páginas asp de todas las carpetas superiores
hay lineas como la siguiente, por ejemplo:

<LINK href="<%=Application("ruta_servidor")%>code/menu_principal.css"
type=text/css rel=Stylesheet>

es decir, independientemente de la carpeta donde nos encontremos siempre
será: /code/menu_principal.css

y claro, la hoja de estilo no se ejecuta, y asi con las imagenes.. etc







etc

en el explorador pongo http://localhost:8001/proyectoweb sale
perfectamente la página principal que es donde se encuentra el
global.asa.. pero si ejecuto la página que se encuentra en una carpeta
superior ya no encuentra la ruta anterior por ejemplo.

he probado a poner también http://proyectoweb.localhost:8001 y ni se
carga la web principal.

alguien sabe lo que puede pasar?... me pueden ayudar?

un cordial saludo y gracias,












Respuesta Responder a este mensaje
#8 Manuel Vera
23/06/2005 - 01:21 | Informe spam
Por favor, indicame si esta es tu estructura de carpetas:

a] c:\inetpub\wwwroot\
b] c:\inetpub\wwwroot\images
c] c:\inetpub\wwwroot\includes
d] c:\inetpub\wwwroot\proyecto
e] c:\inetpub\wwwroot\proyecto\images
f] c:\inetpub\wwwroot\proyecto\includes
g] c:\inetpub\wwwroot\proyecto\pasarelas
h] c:\inetpub\wwwroot\proyecto\pasarelas\images
i] c:\inetpub\wwwroot\proyecto\pasarelas\includes

Entonces, ¿tienes "index.asp" en "a", "d" y "g"?
¿Y en cada "index.asp" hay referencias a archivos CSS y de imagen en sus
carpetas internas?
En este caso basta que la referencia a la imagen sea:
<img src="images/foto.gif">

Ahora, si tienes las misma imagenes y CSS en "b" y "c" y quieres que
index.asp que esta en "d" y "g" apunten al mismo entonces es:
<img src="/images/foto.gif">

Si las imagenes y CSS estan en las carpetas arriba de donde esta index.asp
entonces es:
<img src="../images/foto.gif">
Sin embargo, este no te sirve si index.asp esta en "a"

Puedes revisar estas variables globales del servidor para ubicar la ruta en
cada .ASP:
<P>PATH_INFO: <%=Request.ServerVariables("PATH_INFO")%>
<P>SCRIPT_NAME: <%=Request.ServerVariables("SCRIPT_NAME")%>

En 3 niveles que cree para probar me arrojo estos resultados:
PATH_INFO: /proyecto.asp
SCRIPT_NAME: /proyecto.asp

PATH_INFO: /proyecto/proyecto.asp
SCRIPT_NAME: /proyecto/proyecto.asp

PATH_INFO: /proyecto/pasarela/proyecto.asp
SCRIPT_NAME: /proyecto/pasarela/proyecto.asp

Salu2
MV

PD: La información sobre los diferentes global.asa en las diferentes
sub-carpetas no me funcionó. Me parece que estaba equivocado.
Respuesta Responder a este mensaje
#9 sa
23/06/2005 - 10:15 | Informe spam
Hola Manuel,

Madre mia que lio.. jejejee.. a ver.. yo tengo esta estructura:

a] c:\inetpub\wwwroot\proyecto\index.asp
b] c:\inetpub\wwwroot\proyecto\global.asa
c] c:\inetpub\wwwroot\proyecto\images\foto.jpg
d] c:\inetpub\wwwroot\proyecto\includes\hoja.css
e] c:\inetpub\wwwroot\proyecto\pasarelas\index.asp
f] c:\inetpub\wwwroot\proyecto\forosuevo\index.asp

en [b] hay una linea que es a] Application("ruta_servidor")="/"

cuando entras a [a] no se cargan las imagenes ni los includes, porque
las rutas serían:

<LINK href="<%=Application("ruta_servidor")%>includes/hoja.css"
type=text/css rel=Stylesheet>
que seria: "/includes/hoja.css"

para que funcione la index.asp tengo que quitar "/" del global.asa y el
index.asp funciona, porque las rutas son:

<LINK href="<%=Application("ruta_servidor")%>code/menu_principal.css"
type=text/css rel=Stylesheet>
que sería: "includes/hoja.css"

bien... ahora si entramos a [e], no se carga ninguna imagen ni hoja de
estilos, porque las rutas son:

<LINK href="<%=Application("ruta_servidor")%>"
type=text/css rel=Stylesheet>
independientemente de como este el global.asa no encuentra la ruta
porque sería:

"/includes/hoja.css"
"includes/hoja.css"


para que se carge todo correctamente tendría que ser:
"../includes/hoja.css"


esto ocurre en [e] como en [f].. etc .. la ruta siempre es la misma.

en mi equipo local no funciona.. pero el servidor si.

saludos y gracias,








Manuel Vera escribió:
Por favor, indicame si esta es tu estructura de carpetas:

a] c:\inetpub\wwwroot\
b] c:\inetpub\wwwroot\images
c] c:\inetpub\wwwroot\includes
d] c:\inetpub\wwwroot\proyecto
e] c:\inetpub\wwwroot\proyecto\images
f] c:\inetpub\wwwroot\proyecto\includes
g] c:\inetpub\wwwroot\proyecto\pasarelas
h] c:\inetpub\wwwroot\proyecto\pasarelas\images
i] c:\inetpub\wwwroot\proyecto\pasarelas\includes

Entonces, ¿tienes "index.asp" en "a", "d" y "g"?
¿Y en cada "index.asp" hay referencias a archivos CSS y de imagen en sus
carpetas internas?
En este caso basta que la referencia a la imagen sea:
<img src="images/foto.gif">

Ahora, si tienes las misma imagenes y CSS en "b" y "c" y quieres que
index.asp que esta en "d" y "g" apunten al mismo entonces es:
<img src="/images/foto.gif">

Si las imagenes y CSS estan en las carpetas arriba de donde esta index.asp
entonces es:
<img src="../images/foto.gif">
Sin embargo, este no te sirve si index.asp esta en "a"

Puedes revisar estas variables globales del servidor para ubicar la ruta en
cada .ASP:
<P>PATH_INFO: <%=Request.ServerVariables("PATH_INFO")%>
<P>SCRIPT_NAME: <%=Request.ServerVariables("SCRIPT_NAME")%>

En 3 niveles que cree para probar me arrojo estos resultados:
PATH_INFO: /proyecto.asp
SCRIPT_NAME: /proyecto.asp

PATH_INFO: /proyecto/proyecto.asp
SCRIPT_NAME: /proyecto/proyecto.asp

PATH_INFO: /proyecto/pasarela/proyecto.asp
SCRIPT_NAME: /proyecto/pasarela/proyecto.asp

Salu2
MV

PD: La información sobre los diferentes global.asa en las diferentes
sub-carpetas no me funcionó. Me parece que estaba equivocado.


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida