Este foro ya no está activo, así que no puedes publicar nuevas preguntas ni responder a las preguntas existentes.

Silex: ¿Se puede modificar la variable de baseurl?

14 de junio de 2016

Hola a todos:

Tengo una aplicación en silex que me funciona perfectamente. A la hora de ejecutar es:

http://www.midominio.com/public

Y todo va perfecto.

El cliente me ha pedido que no quiere que salga la carpeta /public/ por lo que en el htaccess de la raíz he puesto RewriteBase /public/ y efectivamente ya se va al public y se ejecuta todo bien salvo que carga mal los CSS y los JS porque en las llamadas tengo puesto siempre:

... src='{{app.request.baseurl}}/js/script.js

Así como llamadas a AJAX en algunos twig como por ejemplo:

$.ajax({
            async: false,
            type: "POST",
            url: "{{app.request.basepath}}/config/funciones.php",
            data: {
                accion: "desglosar",
                id_user: $(this).attr("id_user")
            },
            success: function(data) {
            }
});

En Local va muy bien pero en el servidor no porque el {{app.request.baseurl}} en local me pone el correcto (http://localhost/miweb/public) mientras que en el servidor (por ese cambio hecho en el htaccess) solo me da /.

Por lo que la única solución que se me ocurre es poder modificar el baseurl de la web para forzar que añada la carpeta public para que así me cargue bien todos los css, los js, las imágenes y los ajax de los twig.

Hacer algo así como:

$app["request"]["baseurl"] = $app["request"]["baseurl"]."/public/";

Pero he probado muchas formas de hacerlo y no lo consigo. ¿Se puede cambiar el baseurl de $app de alguna manera? ¿Alguna idea de cómo hacerlo?

Muchas gracias por adelantado.