Foros del Web » Programando para Internet » PHP » Symfony »

[SOLUCIONADO] Problema con los recursos en el hosting

Estas en el tema de Problema con los recursos en el hosting en el foro de Symfony en Foros del Web. Buenas noches, tengo mi aplicación Symfony subida a 1and1, pero tengo un problema con mis recursos (imágenes, css y js). Cada uno de ellos los ...
  #1 (permalink)  
Antiguo 29/11/2015, 18:23
 
Fecha de Ingreso: septiembre-2015
Mensajes: 71
Antigüedad: 8 años, 7 meses
Puntos: 0
Problema con los recursos en el hosting

Buenas noches, tengo mi aplicación Symfony subida a 1and1, pero tengo un problema con mis recursos (imágenes, css y js). Cada uno de ellos los tengo en su carpeta:
- proyecto/web/css
- proyecto/web/images
- proyecto/web/js

Ahora he alojado mi proyecto de dos formas
Forma 1:
He cambiado el index.html que te viene por defecto y he subido uno propio que dice que la web está en construcción. Además he subido el directorio de mi proyecto.
Entonces con www.dominio.com entro en la web en construcción y con www.dominio.com/proyecto/web/app.php entro en el proyecto symfony.

En esta forma todos los recursos funcionan pefectamente

Forma 2:
He creado una vista en mi proyecto symfony que dice que la web está en construcción. En el routing he dicho que la raiz es esa vista. Y he puesto que la salida del dominio, es decir www.dominio.com, en vez de ser el index.html de la raiz, sea proyecto/web/app.php

En esta forma no funciona ni las imágenes, ni los css, ni los js, no los encuentra



He mirado en el código de la web y las url de los recursos es la misma en las dos formas ¿Por qué uno funciona y el otro no?

Indicar que las url las introduzco usando assets (Ejemplo: <link href="{{ asset('css/styles.css') }}" type="text/css" rel="stylesheet" />)

Gracias anticipadas

Última edición por Chino27; 29/11/2015 a las 18:26 Razón: Colocar una indicación final
  #2 (permalink)  
Antiguo 30/11/2015, 09:37
Avatar de lauser
Moderator Unix/Linux
 
Fecha de Ingreso: julio-2013
Ubicación: Odessa (Ukrania)
Mensajes: 3.278
Antigüedad: 10 años, 9 meses
Puntos: 401
Respuesta: Problema con los recursos en el hosting

Has probado mediante .htaccess?
Código Apache:
Ver original
  1. DirectoryIndex /pro/web/app.php
Recuerda que es un ejemplo, debes colocar tu ruta.
__________________
Los usuarios que te responden, lo hacen altruistamente y sin ánimo de lucro con el único fin de ayudarte. Se paciente y agradecido.
-SOLOLINUX-
  #3 (permalink)  
Antiguo 30/11/2015, 12:36
 
Fecha de Ingreso: septiembre-2015
Mensajes: 71
Antigüedad: 8 años, 7 meses
Puntos: 0
Respuesta: Problema con los recursos en el hosting

No entiendo eso que dices del htaccess ¿Puedes explicarmelo?
  #4 (permalink)  
Antiguo 30/11/2015, 12:51
Avatar de lauser
Moderator Unix/Linux
 
Fecha de Ingreso: julio-2013
Ubicación: Odessa (Ukrania)
Mensajes: 3.278
Antigüedad: 10 años, 9 meses
Puntos: 401
Respuesta: Problema con los recursos en el hosting

Disculpa no leí bien tu consulta, pensaba que estabas en apache.
__________________
Los usuarios que te responden, lo hacen altruistamente y sin ánimo de lucro con el único fin de ayudarte. Se paciente y agradecido.
-SOLOLINUX-

Última edición por lauser; 30/11/2015 a las 12:57
  #5 (permalink)  
Antiguo 30/11/2015, 15:57
 
Fecha de Ingreso: enero-2013
Ubicación: Santa Fe, VT
Mensajes: 68
Antigüedad: 11 años, 2 meses
Puntos: 2
Respuesta: Problema con los recursos en el hosting

podes mostrar las rutas que muestran en el codigo fuente los recursos en los 2 casos?(los js y css)
  #6 (permalink)  
Antiguo 01/12/2015, 08:25
 
Fecha de Ingreso: septiembre-2015
Mensajes: 71
Antigüedad: 8 años, 7 meses
Puntos: 0
Respuesta: Problema con los recursos en el hosting

Voy a intentar dar todo los datos posibles:

Archivo routing.yml
Código PHP:
index:
    
pattern:  /home
    defaults
: { _controllerProyectoBundle:Default:index }

howwework:
    
pattern:  /howwework
    defaults
: { _controllerProyectoBundle:Default:howwework }
    
contact:
    
pattern:  /contact
    defaults
: { _controllerProyectoBundle:Default:contact }
    
construct:
    
pattern:  /
    
defaults: { _controllerProyectoBundle:Default:construct 
Estructura de directorio en 1and1:
/
----|-.composer
----|-proyecto-|
--------------|-.git
--------------|-app
--------------|-bin
--------------|-src
--------------|-vendor
--------------|-web-|
--------------------|-bundles
--------------------|-css
--------------------|-images
--------------------|-js
--------------------|-resources
--------------------|-.htaccess
--------------------|-app.php
--------------------|-app_dev.php
--------------------|-Demás ficheros
--------------|-git
--------------|-Demás archivos de symfony
----|-logs
----|-resources (todos los recursos para el index.html)
----|-composer.phar
----|-index.html

FORMAS DE SUBIR EL PROYECTO

1º Forma: El dominio apunta al archivo /index.html


www.dominio.com
- Me muestra la página index.html recibiendo los recursos pefectamente
- CCS:<link href="resources/styles.css" type="text/css" rel="stylesheet" />

www.dominio.com/proyecto/web/app.php
- Me muestra la página en construcción hecha en el proyecto symfony, recibiendo los recursos perfectamente.
- CCS:<link href="/proyecto/web/css/styles.css" type="text/css" rel="stylesheet" />

www.dominio.com/proyecto/web/app.php/home
- Me muestra la página principa del proyecto symfony, recibiendo los recursos perfectamente.
- CCS:<link href="/proyecto/web/css/styles.css" type="text/css" rel="stylesheet" />

2º Forma: El dominio apunta al archivo /proyecto/web/app.php

www.dominio.com
- Me muestra la página en construcción hecha en el proyecto symfony, sin recibir ninguno de los recursos
- CCS:<link href="/css/styles.css" type="text/css" rel="stylesheet" />

www.dominio.com/home
- Me muestra la página principal del proyecto symfony, sin recibir ninguno de los recursos
- CCS:<link href="/css/styles.css" type="text/css" rel="stylesheet" />


A ver si ahora alguien puede ayudarme. Gracias
  #7 (permalink)  
Antiguo 03/12/2015, 06:47
 
Fecha de Ingreso: septiembre-2015
Mensajes: 71
Antigüedad: 8 años, 7 meses
Puntos: 0
Respuesta: Problema con los recursos en el hosting

Me he equivocado en lo que ponía en este mensaje, perdon, sigo sin saber como llegar a los recursos

Última edición por Chino27; 03/12/2015 a las 10:28 Razón: Admitir error
  #8 (permalink)  
Antiguo 03/12/2015, 18:19
 
Fecha de Ingreso: enero-2013
Ubicación: Santa Fe, VT
Mensajes: 68
Antigüedad: 11 años, 2 meses
Puntos: 2
Respuesta: Problema con los recursos en el hosting

Bueno, visto desde el funcionamiento de Symfony no veo nada mal(por lo menos yo).
Puede que la causa sea otra, si tenes el proyecto en un servidor casero, intenta hacer una alias y ver si funciona correctamente.
Yo uso Assetic, aunque no creo que te lo solucione.
Hasta aca puedo ayudarte XD
  #9 (permalink)  
Antiguo 08/12/2015, 18:55
 
Fecha de Ingreso: septiembre-2015
Mensajes: 71
Antigüedad: 8 años, 7 meses
Puntos: 0
Respuesta: Problema con los recursos en el hosting

He adelantado un poco más, he encontrador el error pero no la solución:
El dominio apunta al archivo proyecto/web/app.php, los css estan en la ruta proyecto/web/css y el assetic enlaza a la ruta relativa /css/styles.css
¿Qué significa esto?
Qué al procesar la web, el css lo busca en la ruta www.proyecto.com/css/styles.css (proyecto/web/app.php/css/styles.css) y eso no es correcto, porque css no es un subdirectorio, sino que está en el mismo directorio que app.php

He hecho una solución un poco casera: he duplicado el archivo app.php, lo he llamado index.php y he apuntado el dominio a proyecto/web/ y me ha funcionado, ha cogido todos los recursos
¿Problema de esto?
Qué el archivo index.php parece que no ejecuta el routing y para navegar por la web no sería www.proyecto.com/seccion sino www.proyecto.com/app.php/seccion

¿Alguien sabe la forma de acceder a los recursos apuntando el dominio app.php? (cambiando de alguna forma la ruta del assetic?

¿Alguien sabe la forma de acceder al routing apuntando el dominio a index.html?

Gracias
  #10 (permalink)  
Antiguo 09/12/2015, 09:00
 
Fecha de Ingreso: enero-2013
Ubicación: Santa Fe, VT
Mensajes: 68
Antigüedad: 11 años, 2 meses
Puntos: 2
Respuesta: Problema con los recursos en el hosting

recien probe en mi servidor casero, si esta activado el mod_rewrite y estas en prod, con que el host apunte a el directorio /web deberia funcionar. Es decir:

El host www.proyecto.com >>> apunta a /web
si el mod_rewrite esta activado, es lo mismo poner "www.proyecto.com/app.php" que "www.proyecto.com"
Por lo menos con mi configuracion del .htaccess, que es la que viene por default, funciona.

La dejo por si te sirve:
Código Apache:
Ver original
  1. # Use the front controller as index file. It serves as a fallback solution when
  2. # every other rewrite/redirect fails (e.g. in an aliased environment without
  3. # mod_rewrite). Additionally, this reduces the matching process for the
  4. # start page (path "/") because otherwise Apache will apply the rewriting rules
  5. # to each configured DirectoryIndex file (e.g. index.php, index.html, index.pl).
  6. DirectoryIndex app.php
  7.  
  8. # By default, Apache does not evaluate symbolic links if you did not enable this
  9. # feature in your server configuration. Uncomment the following line if you
  10. # install assets as symlinks or if you experience problems related to symlinks
  11. # when compiling LESS/Sass/CoffeScript assets.
  12. # Options FollowSymlinks
  13.  
  14. # Disabling MultiViews prevents unwanted negotiation, e.g. "/app" should not resolve
  15. # to the front controller "/app.php" but be rewritten to "/app.php/app".
  16. <IfModule mod_negotiation.c>
  17.     Options -MultiViews
  18. </IfModule>
  19.  
  20. <IfModule mod_rewrite.c>
  21.     RewriteEngine On
  22.     # Determine the RewriteBase automatically and set it as environment variable.
  23.     # If you are using Apache aliases to do mass virtual hosting or installed the
  24.     # project in a subdirectory, the base path will be prepended to allow proper
  25.     # resolution of the app.php file and to redirect to the correct URI. It will
  26.     # work in environments without path prefix as well, providing a safe, one-size
  27.     # fits all solution. But as you do not need it in this case, you can comment
  28.     # the following 2 lines to eliminate the overhead.
  29.     RewriteCond %{REQUEST_URI}::$1 ^(/.+)/(.*)::\2$
  30.     RewriteRule ^(.*) - [E=BASE:%1]
  31.  
  32.     # Sets the HTTP_AUTHORIZATION header removed by apache
  33.     RewriteCond %{HTTP:Authorization} .
  34.     RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
  35.  
  36.     # Redirect to URI without front controller to prevent duplicate content
  37.     # (with and without `/app.php`). Only do this redirect on the initial
  38.     # rewrite by Apache and not on subsequent cycles. Otherwise we would get an
  39.     # endless redirect loop (request -> rewrite to front controller ->
  40.     # redirect -> request -> ...).
  41.     # So in case you get a "too many redirects" error or you always get redirected
  42.     # to the start page because your Apache does not expose the REDIRECT_STATUS
  43.     # environment variable, you have 2 choices:
  44.     # - disable this feature by commenting the following 2 lines or
  45.     # - use Apache >= 2.3.9 and replace all L flags by END flags and remove the
  46.     #   following RewriteCond (best solution)
  47.     RewriteCond %{ENV:REDIRECT_STATUS} ^$
  48.     RewriteRule ^app\.php(/(.*)|$) %{ENV:BASE}/$2 [R=301,L]
  49.  
  50.     # If the requested filename exists, simply serve it.
  51.     # We only want to let Apache serve files and not directories.
  52.     RewriteCond %{REQUEST_FILENAME} -f
  53.     RewriteRule .? - [L]
  54.  
  55.     # Rewrite all other queries to the front controller.
  56.     RewriteRule .? %{ENV:BASE}/app.php [L]
  57. </IfModule>
  58.  
  59. <IfModule !mod_rewrite.c>
  60.     <IfModule mod_alias.c>
  61.         # When mod_rewrite is not available, we instruct a temporary redirect of
  62.         # the start page to the front controller explicitly so that the website
  63.         # and the generated links can still be used.
  64.         RedirectMatch 302 ^/$ /app.php/
  65.         # RedirectTemp cannot be used instead
  66.     </IfModule>
  67. </IfModule>
  #11 (permalink)  
Antiguo 09/12/2015, 17:33
 
Fecha de Ingreso: septiembre-2015
Mensajes: 71
Antigüedad: 8 años, 7 meses
Puntos: 0
Respuesta: Problema con los recursos en el hosting

Muchisimas gracias, por fin lo soluciones, ese archivo de configuración, ha sido la clave. Gracias a todos por la ayuda

Etiquetas: hosting, recursos
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 04:58.