Hola a todos:
Estoy subiendo por primera vez un Silex a un servidor. En local me funciona todo perfectamente, tanto la parte pública como la de administración, en local para entrar a cada una de ellas es:
http://localhost:82/miprimersilex/web/public http://localhost:82/miprimersilex/web/admin
Ahora bien, lo he subido a un servidor, y hago que el dominio www.midominio.com
apunte a la carpeta:
miprimersilex/web/public
En el htaccess de la carpeta public tengo:
<IfModule mod_rewrite.c> Options -MultiViews RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^ index.php [QSA,L] </IfModule>
La parte pública se me ve perfecta. Todo bien. Ahora bien la parte de Admin no me entra al poner:
midominio.com/admin
Lo cual es lógico pues "admin" está a un nivel anterior de "public" y el dominio apunta a "public". He probado toda clase de combinaciones con el htaccess pero no sé cómo hacerlo para que pueda entrar en el "admin".
¿Alguna idea? Muchas gracias por adelantado
Respuestas
¿Y no podrías añadir otra condición al redireccionamiento? Algo así:
<IfModule mod_rewrite.c> Options -MultiViews RewriteEngine On RewriteBase / RewriteRule ^admin/(.*)$ ...../$1 [QSA,L] # <-- aquí la carpeta de tu admin RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^ index.php [QSA,L] </IfModule>
También podrías usar la directiva Alias de Apache.
Por cierto, si usas Apache 2.2.16 o superior, la configuración que has mostrado anteriormente se puede simplificar por lo siguiente:
<Directory "/ruta/hasta/tu/proyecto"> FallbackResource "index.php" </Directory>
@javiereguiluz
Muchas gracias por la respuesta. No me acaba de funcionar, sería algo así:
RewriteRule ^admin/(.*)$ /miproyecto/web/admin [QSA,L]
¿Es así, verdad? También he probado lo del Alias pero tampoco me va.
¿La ruta que se pone es la absoluta, no?
@despotricador